type. This data object holds detailed information specific to that
type. For example, a source with a
credit cardhas a
creditCardhash table that lists the card's
requires_actionbefore it transitions to
chargeable. PayPal is an example of an asynchronous payment method because the customer is redirected to the PayPal site and must take additional action to authorize the transaction.
truebefore they can be used to make multiple charges. Reusable sources however can't be created using a public API key. So both Drop-in payments and DigitalRiver.js with elements only generate single-use sources. To make them reusable once they're created (assuming the source
typesupports re-usability), you must save the source to a customer. This flips
trueand prevents the source's
consumedonce it's associated with a transaction.
flowattribute represents how your customers experience the payment process and what actions they must take to authenticate a payment method. The enumerated values of the attribute are
standard: In this flow, which mainly applies to credit cards, you obtain a customer's payment details on your storefront and submit this information to Digital River. The customer is never required to leave your website during the checkout process. No additional action is required by the customer after they submit their information and a charge can be created immediately
redirect: With this authentication flow type, you obtain a customer's payment data on your storefront. You then redirect them to the website of the payment method where they are asked to authorize the transaction. Once the authorization is confirmed, a charge can be created. We recommend you adhere to these guidelines when using redirect payment methods.
receiver: This flow type requires that a customer push funds to an account before a charge can be created. Bank and wire transfers are two common payment methods that use this authentication flow.
stateattribute, which provides information about what can be done with it. The
stateof a source is enumerated by the following values:
pending_redirectbecause the customer must leave your website to confirm the payment.
amountcan change. For example, if customers add or subtract items from their carts late in the checkout process, and you then submit a new checkout request with the same
sourceId, the source is returned with an updated