# Payment solutions

The payment solution(s) you use depends on whether customers [purchase products and services in a checkout flow](#payments-in-checkout-flows) or [manage their payment methods in a self-service portal](#payment-method-management-flows).

You can [use Digital River Dashboard to enable or disable payment methods](https://docs.digitalriver.com/digital-river-api/administration/dashboard/settings/payment-methods/disabling-a-payment-method).

## Payments in checkout flows

How you collect payment in checkout flows depends on whether you select the [Low-code checkouts](#low-code-checkouts) or [Direct integrations](#components-1) approach.

### Low-code checkouts

In [Low-code checkouts](#low-code-checkouts), how you collect payment depends on whether you're using [Prebuilt Checkout](#prebuilt-checkout) or [Components](#components).

#### Prebuilt Checkout

If you're using [Prebuilt Checkout](https://docs.digitalriver.com/digital-river-api/integration-options/low-code-checkouts/drop-in-checkout), payment is collected within the [checkout modal](https://docs.digitalriver.com/digital-river-api/integration-options/low-code-checkouts/drop-in-checkout#payment). Digital River then associates the resulting [source(s)](https://app.gitbook.com/s/x8fSFzVR3sg0TsNWwwVz/sources) with the underlying [checkout](https://app.gitbook.com/s/x8fSFzVR3sg0TsNWwwVz/checkouts) and, if customers opt to save a [reusable payment method](https://docs.digitalriver.com/digital-river-api/payments/supported-payment-methods) to their account, the [customer ](https://app.gitbook.com/s/x8fSFzVR3sg0TsNWwwVz/customers)as well.

![Drop-in Checkout](https://334437993-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqH4RJfLVLuHPXuJyTZ%2Fuploads%2FtLlgMtRBlkGlbJ8df1k2%2FDrop-in%20checkout.png?alt=media\&token=6b15f846-35be-4194-be10-3d7623b38195)

#### Components

If you [integrate with components](https://docs.digitalriver.com/digital-river-api/integration-options/low-code-checkouts/implementing-a-components-checkout), you can use either the [payment component](https://docs.digitalriver.com/digital-river-api/developer-resources/digitalrivercheckout.js-reference/digitalrivercheckout-object/components/payment-component) or the [wallet component](https://docs.digitalriver.com/digital-river-api/developer-resources/digitalrivercheckout.js-reference/digitalrivercheckout-object/components/wallet-component) to collect a customer's payment at checkout time.

{% tabs %}
{% tab title="Wallet component" %}
![](https://334437993-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqH4RJfLVLuHPXuJyTZ%2Fuploads%2FjhRovAIWQpem4TqiYfZ4%2FWallet%20element.png?alt=media\&token=1a8c1593-8690-40d4-b1c8-1aa4adf46628)
{% endtab %}

{% tab title="Payment component" %}
![](https://334437993-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqH4RJfLVLuHPXuJyTZ%2Fuploads%2FRsjajppruGshBUSPvObb%2FPayment%20element%20-%20saved%20payment%20methods.png?alt=media\&token=c7b1bc5e-cdcb-4bcc-89e1-2d3219f9de93)
{% endtab %}
{% endtabs %}

### Direct Integrations <a href="#components" id="components"></a>

If you select the [Direct integrations](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts) option, you'll need to use [Drop-in payments](https://docs.digitalriver.com/digital-river-api/payments/payment-integrations-1/drop-in) or [Elements](https://docs.digitalriver.com/digital-river-api/payments/payment-integrations-1/digitalriver.js/quick-start) to collect payment during the [checkout process](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/creating-checkouts).

![Drop-in payments](https://334437993-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqH4RJfLVLuHPXuJyTZ%2Fuploads%2FneqpuNfpWMpbXDNnPz3y%2FDrop-in%20payments.png?alt=media\&token=6c60445d-9bd5-40cd-80fb-8a8a6e49487c)

In either case, you're responsible for associating a transaction's payment [source(s)](https://app.gitbook.com/s/x8fSFzVR3sg0TsNWwwVz/sources) with the [customer ](https://app.gitbook.com/s/x8fSFzVR3sg0TsNWwwVz/customers)and/or the [checkout](https://app.gitbook.com/s/x8fSFzVR3sg0TsNWwwVz/checkouts). For more details, refer to:

* [Purchase flows](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/building-you-workflows#purchase-flows) on the [Building payment workflows](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/building-you-workflows) page
* [Source basics](https://docs.digitalriver.com/digital-river-api/payments/payment-sources)
* [Managing sources](https://docs.digitalriver.com/digital-river-api/payments/payment-sources/using-the-source-identifier)

## Payment method management flows

If you allow registered customers to save their [payment methods](https://docs.digitalriver.com/digital-river-api/payments/supported-payment-methods) for future transactions, you'll need to give them access to a self-service account management portal. This portal should include a section for customers to add, delete, and update their payment methods.

![](https://334437993-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqH4RJfLVLuHPXuJyTZ%2Fuploads%2FhQkVxDFAPUGSnv0SgKyW%2FManage%20payment%20methods.png?alt=media\&token=d586cfa9-b17d-45d0-bc3e-e2b7da9f51a2)

When building payment method management flows, you'll likely use a combination of [Drop-in payments](https://docs.digitalriver.com/digital-river-api/payments/payment-integrations-1/drop-in) and [DigitalRiver.js with elements](https://docs.digitalriver.com/digital-river-api/payments/payment-integrations-1/digitalriver.js/quick-start). For more details, refer to:

* [Account management flows](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/building-you-workflows#account-management-flows) on the [Building payment workflows](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/building-you-workflows) page
* The [Managing sources](https://docs.digitalriver.com/digital-river-api/payments/payment-sources/using-the-source-identifier) page


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalriver.com/digital-river-api/payments/payment-integrations-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
