# 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
