Building payment workflows
Learn how to create SCA-compliant workflows using Drop-in payments and DigitalRiver.js with elements.
Last updated
Was this helpful?
Learn how to create SCA-compliant workflows using Drop-in payments and DigitalRiver.js with elements.
Last updated
Was this helpful?
You can create Strong Customer Authentication (SCA) compliant workflows for and .
When building workflows that use Drop-in payments, you'll need to perform some before proceeding to the workflow's specific steps.‌ For workflows using , you must also complete some .
Each purchase and account management workflow has some .
Whether you are using Drop-in payments or , Digital River automatically manages any SCA requirements. Our authenticate source method handles two-factor authentication. Our card acquirers use the protocol to communicate with issuing banks. This protocol operates "behind the scenes" and requires no developer interaction.
Note the following limitations and constraints when building your payments workflow.
Do not change the currency when a secondary source is in the cart. Specify the correct currency when creating a . Do not change the currency after you to the cart.
If you change the currency when calling /v1/shoppers
, a response contains specific information about what triggered the failure. In this instance, one of the currencies in the cart is not supported.
You can't use the store credit to buy subscription products, pre-order products, or products on backorder. Additionally, you can't link more than one store credit source to an order, as multiple secondary sources are not currently supported.
‌In this flow, customers supply their credit card information during a one-off transaction but don't save it to their accounts.
Yes
Yes
Yes
Drop-in payments render in the specified container.
In this flow, customers enter credit card information and save it to their account during a one-off transaction.
Yes
Yes
Yes
The modal renders in the specified container.
Step five: Attach the source to the shopper.
Step six: Attach the shopper to the cart.
Step seven: Create the order by submitting the cart.
Yes
No
Yes
In this flow, customers save payment information to their account and use that payment source to acquire an auto-renewing subscription.
Yes
Yes
Yes
Drop-in renders in the specified container.
In this flow, shoppers select a credit card they previously saved to their account and use it to acquire an auto-renewing subscription.
SCA required?
Drop-in supported?
Elements supported?
Yes
No
Yes
In this flow, you initiate a subscription auto-renewal for the shopper. Although this flow type does not require SCA, you should ensure you're properly managing subscriptions, setting up auto-renewals, and initiating the charge type during the checkout process.
No
N/A
N/A
No
No
Yes
Step three: Use the configuration object to instantiate Drop-in payments.
The modal window renders in the specified container.
C, customers can use their account portal to save credit card information for future transactions.
Yes
Yes
Yes
Step one: Go to a page in your integration where customers manage their payment methods.
The modal window renders in the specified container.
Step six: Attach the source to the shopper.
Customers use their account portal to update their saved credit card's expiration date or billing address in this flow.
No
No
Yes
You must perform the following steps for any workflow that uses Drop-in payments, whether built for or .‌
​.
​.
.
.
Once you've completed these initial steps, you can perform those specific to your desired or scenario.
You need to use payment sessions when using to build workflows. So ensure you've . We assume you are familiar with and .
Once you've completed these prerequisites, you can perform the steps specific to your desired or scenario.
For almost all , , and transactions, Digital River supports workflows using Drop-in payments or .‌
‌You can develop workflows that allow customers to , , and their payment information while making one-off purchases.
Prerequisites: Perform the .
Step one: with all tax, shipping, duty, and fee amounts in a final state and a that is customer_initiated
.
Step two: Retrieve the cart's , and use it to set the sessionId in the Drop-in payments' . In , set flow
to checkout
and to convenience
, and (to prompt Drop-in payments to display the save payment option) to true
.
Step three: Use the configuration object to .
Step four: Specify on your cart page.
Customers enter their credit card information and click the Pay Now button.
If the customer completes the , then the d is called, and Digital River returns a unique source in a .
Step five: .
Step six: .
Prerequisites: Refer to the section.
Step one: with all tax, shipping, duty, and fee amounts in a final state and a that is customer_initiated
.
Step two: Retrieve the from the cart, and use it to configure the method. The configuration object should also set futureUse
to false
and to convenience
.
A unique Source in a is returned once the method is called and the shopper provides the required SCA.
Step three: .
Step four: .
Prerequisites: Perform the .
Step one: with all tax, shipping, duty, and fee amounts in a final state. Set to customer_initiated
and autoRenewal
to true
.
Step two: Retrieve the cart's , and use it to set the sessionId in the configuration object. In the configuration , set flow
to checkout
and to convenience.
To prompt Drop-in payments to display the save payment option, set showSavePaymentAgreement
to true
.
You should also configure the usage
parameter. Doing so identifies the .
Step three: Use the configuration object to .
Step four: on your cart page.
Customers enter their credit card information, actively accept the save payment agreement, and click the Pay Now button.
If the customer completes the SCA steps necessary to make the source chargeable, then the d is called, and Digital River returns a unique Source in a .
Prerequisites: Refer to the section. Your flow must also display the storage terms and allow shoppers to save their payment information.
Step one: with all tax, shipping, duty, and fee amounts in a final state.
Step two: Retrieve the and use it to configure the method. The configuration object should also set futureUse
to true
and to convenience
. Use mandate.terms
to pass the save payment agreement that the customer accepts.
Step three: .
Step four: .
Step five: .
In this one-off purchase flow, the customers select a credit card they previously saved to their account. The key step is to call the .
Drop-in payments do not currently support retrieving stored payment methods. To handle this flow, use .
Prerequisites: Refer to the section.
Step one: with all tax, shipping, duty, and fee amounts in a final state. The should be customer_initiated
.
Step two: and display them to the shopper during checkout.
Step three: If the shopper selects a saved payment method, you must determine whether SCA is required. To do this, configure and call the method. For details, refer to Authenticating sources on the DigitalRiver object
Step four:.
Step five: .
You can create workflows allowing customers to or a during subscription acquisitions. You can also set up workflows for .
Prerequisites: Perform the .
Step one: with an , and all tax, shipping, duty, and fee amounts are in a final state. Set to and autoRenewal
to true
.
Step two: Retrieve the from the cart, and use it to set the sessionId
in the .
In , set flow
to checkout
and to convenience
, and (to prompt Drop-in payments to display the save payment option) to true
.
Step three: Use the configuration object to .
Step four: Specify on your cart page.
Shoppers must enter their credit card information and click the Pay Now button.
If the shopper completes the necessary steps, then the is called an,d Digital River returns a unique source in a that is .
Step five: .
Step six: .
Prerequisites: Refer to the section. At some point during the flow, you also need to display the subscription's terms, save the payment agreement, and acquire the customer's active acceptance of them.
Step one: with an authenticated customer, and all tax, shipping, duty, and fee amounts are in a final state. Set chargeType
to and autoRenewal
to true
.
Step two: Once the customer selects the option to save the payment method and agrees to the displayed terms, retrieve the , and use it to configure the method. The configuration object should also set futureUse
to true
and to subscription
. Use mandate.terms
to pass the save payment agreement that the customer accepts.
Once the customer provides the required SCA, a unique Source in a is returned.
Step three: .
Step four:
Step five: .
does not currently support retrieving stored payment methods. To handle this flow, use .
Prerequisites: Refer to the section.
Step one: with an , and all tax, shipping, duty, and fee amounts are in a final state. Set to and autoRenewal
to true
.
Step two: and display them to the shopper during the checkout process.
Step three: Configure and call the method if the shopper uses a saved payment method. For details, refer to on the page.
Step four: .
Step five: .
is not required for transactions where shoppers provide payment details by mail, fax, or telephone. But both and Elements support building workflows for (MOTO) transactions.
Prerequisites: Perform the .
Step one: with a of and all tax, shipping, duty, and fee amounts in a final state. This configures Drop-in payments to display only payment methods supported in MOTO transactions.
Step two: Retrieve the checkout's payment session identifier, and use it to set sessionId
in the . In options
, set to checkout
and to convenience
.
Step four: Specify on your checkout page.
The merchant's representative enters the customer's credit card information and clicks the Pay Now button. If the payment is authorized, then the is called, and Digital River returns a unique source in a .
Step five: .
Step six: .
Prerequisites: Refer to the section.
Step one: with a of moto
and all tax, shipping, duty, and fee amounts in a final state.
Step two: Retrieve the payment session identifier, and use it to configure the method. The configuration object should also set futureUse
to false
and to convenience
.
Once the method is invoked and payment is authorized, a unique Source is returned in a .
Step four: .
Step five: .
You can create flows that allow customers to manage through their account portal.
In these account management flows you only need to adhere to when . While storing a card, make sure you identify the future use of the source. This increases the probability that future transactions will be approved.
You're not required to provide SCA when .
Drop-in paymentsPrerequisites: Perform the .
Step two: In the , set flow
to managePaymentMethods
and specify a value for that identifies the potential future use of the payment source.
Step three: Use the configuration object to .
Step four: Specify on the account management page.
Shoppers enter their credit card information, select the save payment agreement option, and click the add payment method button.
If the shopper completes the necessary steps, then the is called, and Digital River returns a unique source in a that is .
Prerequisites: Refer to the section You also need to display the save payment agreement and acquire the customer's active acceptance.
Step one: If a customer selects the option to save a payment method and agrees to the displayed terms, the configuration object should set futureUse
to true
, configure to identify the future use of the payment source and provide the mandate.terms
that the customer agreed to on your storefront.
Once the shopper provides the required SCA, a Source in a is returned.
Step three: .
do not support interacting directly with saved payment methods.‌
Prerequisites: Refer to the section.
Step one: and display them to the shopper. The shopper selects the payment method to update.
Step two: Capture the updated expiration date from the shopper and pass it to the .