LogoLogo
System Status
  • Digital River API
  • Getting started
  • Using our services
    • Local pricing
    • Item classification
    • Subscriptions
    • e-Invoicing
  • Integration options
    • Low-code checkouts
      • Implementing a Prebuilt Checkout
      • Implementing a Components checkout
      • Offering local pricing
      • Using a shipping endpoint
      • Processing subscription acquisitions
      • Adding custom fields
      • Offering store credit
      • Displaying policies and getting consent
      • Collecting e-invoice information
      • Handling completed checkout-sessions
    • Direct integrations
      • Standard flow
      • Building checkouts
        • Checking out guest and registered customers
        • Describing line items
          • Setting the price of an item
          • Managing items with shared SKU identifiers
        • Providing address information
        • Handling shipping choice
        • Tax identifiers
        • Applying a discount
        • Setting the customer type
        • Providing the IP address
        • Selecting a currency
        • Initiating a charge
        • Setting the purchase location
        • Configuring taxes
        • Accessing regulatory fee information
        • Localizing invoices and credit memos
        • Providing an upstream identifier
        • Applying store credit
        • Handling e-invoicing requirements
        • Landed cost
        • Tax calculation inputs
        • Selling entities
        • Payment sessions
        • Applying store credit (legacy)
        • Country specs
      • Building payment workflows
        • Handling redirect payment methods
        • Handling delayed payment methods
      • Subscription acquisitions
        • Handling subscription acquisitions
        • Handling external subscription acquisitions
        • Subscription information
      • Digital River coordinated fulfillments
        • Checking inventory levels
        • Using shipping quotes
        • Reserving inventory items
        • Managing a fulfillment order
        • Cancelling a fulfillment order
    • Connectors
  • Order management
    • Processing orders
    • Handling a rejected order
    • Accessing invoices and credit memos
    • Fulfilling goods and services
    • Capturing and cancelling charges
    • Payment reauthorizations
    • Handling reversals
      • Return basics
        • Digital River coordinated returns
        • Third party coordinated returns
      • Refund basics
        • Issuing refunds
        • Refunding asynchronous payment methods
      • Disputes and chargebacks
    • Customer notifications
    • Responding to events
      • Events
        • Key event types
        • All event types
      • Webhooks
        • Creating a webhook
        • Digital River API safelist
        • Digital River signature
      • Expanding events
      • Preventing webhooks from getting disabled
    • Distributor model
  • Subscription Management
    • Managing a subscription
    • Managing an external subscription
  • Payments
    • Payment solutions
      • Drop-in payments
        • How Drop-in payments work
        • Drop-in payments integration guide
      • DigitalRiver.js with Elements
        • Elements integration guide
        • Configuring payment methods
          • Configuring Afterpay
          • Configuring Alipay+ (cross-border)
          • Configuring Alipay (domestic)
          • Configuring Amazon Pay
          • Configuring Apple Pay
          • Configuring Bancontact
          • Configuring BNP Paribas
          • Configuring BLIK
          • Configuring CCAvenue
          • Configuring Clearpay
          • Configuring Credit Cards
          • Configuring FPX Online Banking
          • Configuring Google Pay
          • Configuring iDEAL
          • Configuring Klarna
          • Configuring Konbini
          • Configuring Online Banking (IBP)
          • Configuring Online Banking (Korea Bank Transfer)
          • Configuring PayCo
          • Configuring PayPal
          • Configuring SEPA Direct Debit
          • Configuring Trustly
          • Configuring Wire Transfer
          • Common payment sources
          • Common payment objects
    • Supported payment methods
      • Afterpay
      • Alipay (domestic)
      • Alipay+ (cross-border)
      • Amazon Pay
      • Apple Pay
      • Bancontact
      • BNP Paribas
      • BLIK
      • CCAvenue
      • Clearpay
      • Credit Cards
      • FPX Online Banking
      • Google Pay
      • iDEAL
      • Klarna
      • Konbini
      • Korea Bank Transfer (Online Banking)
      • Online Banking (IBP)
      • Pay with Installments France
      • PayCo
      • PayPal
      • PayPal Billing Agreement
      • PayPal Credit
      • PayPal Pay in 3
      • PayPal Pay in 4
      • PayPal RatenZahlung (Installment Payment)
      • SEPA Direct Debit
      • Trustly
      • Wire Transfer
    • Source basics
      • Managing sources
      • Handling credit card sources
      • Retrieving sources
    • Authorization declines
    • PSD2 and SCA
      • How to ensure SCA compliance
    • Payment testing scenarios
  • Product management
    • Product basics
    • Managing SKUs
    • Using product details
    • Grouping SKUs
    • SKU-inventory item pairs
    • Managing inventory items
    • Regulatory fees
      • What are regulatory fees?
        • Fees terminology
        • Regulatory fee management
        • European regulatory fees
        • Compliance obligations
        • WEEE directive requirements
        • Copyright directive requirements
        • Compliance challenges
      • Managing regulatory fees
  • Customer management
    • Customer basics
    • Creating and updating customers
    • Setting up tax exemptions
    • Recording a customer's request to be forgotten
  • Financial reporting
    • Financials basics
    • Sales transactions
      • Returning a list of sales transactions
      • Getting a sales transaction by ID
    • Sales summaries
      • Returning a list of sales summaries
      • Getting a sales summary by ID
    • Payouts
      • Returning a list of payouts
      • Getting a payout by ID
      • Get a list of transactions included in payout by ID
  • Developer resources
    • Digital River API reference
    • DigitalRiver.js reference
      • Including DigitalRiver.js
      • Initializing DigitalRiver.js
      • DigitalRiver object
      • Elements
        • Amazon Pay element
        • Apple Pay elements
        • Google Pay elements
        • IBAN element
        • iDEAL element
        • Konbini elements
        • Compliance element
        • Offline Refund elements
        • Online Banking elements
        • Tax Identifier element
        • Invoice attribute element
        • Delayed Payment Instructions element
        • PayPal elements
      • Guidelines for capturing payment details
      • Security
      • Digital River payment objects
      • Error types, codes, and objects
    • DigitalRiverCheckout.js reference
      • Including DigitalRiverCheckout.js
      • Initializing DigitalRiverCheckout.js
        • DigitalRiverCheckout configuration object
      • DigitalRiverCheckout object
        • Configuring Prebuilt Checkout
          • Performing actions
          • Defining experience
        • Components
          • Configuring components
          • Address component
          • Shipping component
          • Tax identifier component
          • Invoice component
          • Wallet component
          • Payment component
          • Compliance component
          • Order summary component
          • Thank you component
        • Rendering a checkout button
          • Performing actions on the checkout button
        • Determining the checkout's status
      • Accessing country and currency
    • DynamicPricing.js reference
    • Postman collection
  • administration
    • Sign in
    • Digital River Dashboard
      • Digital River Dashboard quick start guide
      • Key features
      • Reset your password
      • Test and production environments
      • Account
        • Adding an account
        • Switching accounts
        • Account access
      • Profile settings
        • Viewing your personal information
        • Changing your password
        • Updating your phone number
        • Enabling multi-factor authentication
      • Finance
        • Payouts
          • Viewing your payout details
          • Filtering your payouts
          • Exporting your payouts
        • Sales summaries
          • Viewing your sales summaries details
          • Filtering your sales summaries
          • Exporting your sales summaries
          • Exporting your sales summary details
        • Transactions
          • Viewing your transaction details
          • Filtering your transactions
          • Exporting your transactions
      • Order management
        • Orders
          • Searching for orders
          • Filtering your orders
          • Viewing the order details
          • Cancelling items
          • Fulfilling items
          • Downloading an invoice
          • Downloading a credit memo
          • Creating shipping labels
          • Recording a customer's request to be forgotten
          • Viewing returns and refunds
          • Creating a return
          • Accepting a return
          • Creating a refund
          • Viewing the order's timeline
        • Checkouts
          • Searching for checkouts
          • Filtering your checkouts
          • Viewing the checkout details
        • Prebuilt Checkout links
          • Generate Prebuilt Checkout links
          • View and work with Prebuilt Checkout link details
          • Add a customer during Prebuilt Checkout
          • Add a product during Prebuilt Checkout
      • Customers
        • Viewing customer details
        • Searching for customers
        • Filtering your customers
        • Editing account information
        • Adding a customer
        • Tax IDs and certificates
          • Adding a tax certificate
          • Adding a tax ID
          • Deleting a tax ID
        • Metadata
          • Adding metadata
          • Editing metadata
        • Manage subscriptions from the Customer Details page
        • Disabling a customer
        • Recording a customer's request to be forgotten
        • Deleting a customer
      • Catalog
        • SKUs
          • Viewing the SKU details
          • Searching for SKUs
          • Filtering your SKUs
          • Adding a SKU
          • Editing a SKU
          • Deleting a SKU
          • Adding a fee to a SKU
          • Editing a fee
          • Deleting a fee
          • Viewing product tariff codes
        • Managing customer subscriptions from Digital River Dashboard
      • Developers
        • API keys
          • Updating your API version
          • Getting your API keys
          • Changing the API version for your key
          • Creating a restricted key
          • Editing a restricted key
          • Deleting a restricted key
          • Rotating keys
        • Webhooks
          • Creating a webhook
          • Editing a webhook
          • Deleting a webhook
          • Rotating a webhook's secret
        • API logs
          • Filtering the API log
          • Viewing the API log details
        • Event logs
          • Filtering the events log
          • Viewing the event details
      • Settings
        • Users and roles
          • Roles
          • Searching for a user by name or email
          • Filtering your users and roles
          • Adding a user
          • Editing a user
          • Deleting a user
        • Prebuilt Checkout
        • Payment methods
          • Viewing your payment methods
          • Viewing payment method details
            • Enabling currencies
            • Managing countries
          • Enabling or disabling a payment method
  • General Resources
    • eCompass
    • eCompass documentation
    • Release notes
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
    • Standards and certifications
      • Certification process
      • Compliance requirements
      • Documentation requirements
      • Integration checklists
        • Admin portal
        • Products and SKUs
        • Customers and tax exemptions
        • Checkouts, payment sources, and orders
        • Disclosures, compliance statements, and emails
        • Fulfillments and cancellations
        • Customer portal
        • Order refund synchronization
        • Reversals
        • Error handling
      • Test and use cases
    • Commerce infrastructure
    • Versioning
    • Glossary
Powered by GitBook
On this page
  • Creating a DigitalRiver object
  • Creating an instance of Drop-in
  • createDropin(config)
  • Creating elements
  • createElement(element, config)
  • Creating a payment request
  • Creating sources
  • createSource(sourceData)
  • createSource(element, sourceData)
  • Specifying a source's future use
  • Retrieving sources
  • retrieveSource(sourceId, sourceClientSecret)
  • Authenticating sources
  • authenticateSource(data)
  • authenticateSource([cvvElement], data)
  • Updating sources
  • updateSource([element,] sourceData)
  • Retrieving available payment methods
  • retrieveAvailablePaymentMethods([filters])
  • Credit card logos
  • Retrieving available banks for Online Banking
  • retrieveOnlineBankingBanks(countryCode, currency)
  • Getting compliance details
  • Compliance.getDetails()
  • Compliance.getDetails() response
  1. Developer resources
  2. DigitalRiver.js reference

DigitalRiver object

Learn how to use the DigitalRiver object

PreviousInitializing DigitalRiver.jsNextElements

Last updated 2 months ago

Creating a DigitalRiver object

For details, refer to the page.

let digitalRiver = new DigitalRiver("pk_test_fh9861t8b7384b7dke9e8dn4fb79808192", {
     "locale": "nl"
});

Creating an instance of Drop-in

createDropin(config)

Use createDropin() to create an instance of . For details, refer to the .

Creating elements

createElement(element, config)

Use this method to create an instance of an that you can use to capture payment details. You can use the following Elements with to create a payment source.

Element Type
Description

amazonPay

applepay

cardCVV

A card security code field

cardExpiration

A credit card expiration field

cardNumber

A credit card number field

googlepay

iban

ideal

konbini

onlineBanking

offlineRefund

paypal

var options = {
    classes: {
        base: "DRElement",
        complete: "complete",
        empty: "empty",
        focus: "focus",
        invalid: "invalid",
        webkitAutofill: "autofill"
    },
    style: {
        base: {
            color: "#fff",
            fontFamily: "Arial, Helvetica, sans-serif",
            fontSize: "20px",
            fontSmoothing: "auto",
            fontStyle: "italic",
            fontVariant: "normal",
            letterSpacing: "3px"
        },
        empty: {
            color: "#fff"
        },
        complete: {
            color: "green"
        },
        invalid: {
            color: "red",
        }
    }
};


var cardNumber = digitalriver.createElement('cardnumber', options);
var cardExpiration = digitalriver.createElement('cardexpiration', options);
var cardCVV = digitalriver.createElement('cardcvv', options);
<div id="card-number" class="DRElement">
    <!-- The embedded Element iframe -->
    <iframe src="cardnumber.html"></iframe>
</div>


<div id="card-number" class="DRElement--complete">
    <!-- The embedded Element iframe -->
    <iframe src="cardnumber.html"></iframe>
</div>

<div id="card-number" class="DRElement--empty">
    <!-- The embedded Element iframe -->
    <iframe src="cardnumber.html"></iframe>
</div>

<div id="card-number" class="DRElement--focus">
    <!-- The embedded Element iframe -->
    <iframe src="cardnumber.html"></iframe>
</div>


<div id="card-number" class="DRElement--invalid">
    <!-- The embedded Element iframe -->
    <iframe src="cardnumber.html"></iframe>
</div>


<div id="card-number" class="DRElement--autofilled">
    <!-- The embedded Element iframe -->
    <iframe src="cardnumber.html"></iframe>
</div>

Options

Heading
State
Default Class

classes

base

DRElement

classes

complete

DRElement--complete

classes

empty

DRElement--empty

classes

focus

DRElement--focus

classes

invalid

DRElement--invalid

classes

autofilled

DRElement--autofilled

Creating a payment request

Creating sources

For both versions, the createSource() method returns a promise that contains a Result object. The Result object, in turn, contains one of two possible objects:‌

  • source — A Source object created by Digital River.

createSource(sourceData)

In the following example, the method takes a single argument. The sourceData contains the data that you want Digital River to tokenize.

var sourceData = {
        "type": "creditCard",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        },
        "creditCard": {
            "number": "4444333322221111",
            "expirationMonth": 12,
            "expirationYear": 2025,
            "cvv": "123"
        }
    }


digitalriver.createSource(sourceData).then(function(result) {
    if(result.error) {
        //handle error message
        var errorMessage = result.error.errors[0].message;
    } else {

        //send source to back end for processing
        var source = result.source;
    }
});

A successful response returns a source with a unique id.

{
    "error": undefined,
    "source": {
        "id": "775d3ff1-99a3-4640-bd2c-24e4b6b13324",
        "type": "creditCard",
        "owner": {
            "firstName": "John",
            "lastName": "Doe",
            "email": "john.doe@yahoo.com",
            "referenceId": "",
            "address": {
                "line1": "10380 Bren Road W.",
                "line2": "Suite 929",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": "55343"
            }
        },
        "status": "chargeable",
        "creationIp": "67.256.231.1",
        "creationDate": "2018-08-22T19:21:59.26Z",
        "flow": "standard",
        "creditCard": {
            "brand": "Visa",
            "expirationMonth": 10,
            "expirationYear": 2019,
            "lastFourDigits": "1111"
        }
    }
}

An unsuccessful response returns an error with information on what must be corrected.

{
    "error": {
        "type": "bad_request",
        "errors": [{
           "code": "invalid_parameter",
           "parameter": "owner.firstName",
           "message": "'' is not a valid owner.firstname."
        },
        {
           "code": "currency_unsupported",
           "parameter": "currency",
           "message": "currency 'xyz' is not supported."
        }]
    },
    source: undefined
}

createSource(element, sourceData)

Use the createSource(element, sourceData) method to create a tokenized source to safely transmit to the backend for use in downstream API calls. This method requests two parameters:‌

The method uses source data and an element argument in the following example.

var sourceData = {
        "type": "creditCard",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        }
    }


digitalriver.createSource(cardNumber, sourceData).then(function(result) {
    if(result.error) {
        //handle error messages
        var errorMessage = result.error.errors[0].message;
    } else {
        //send source to back end for processing
        var source = result.source;
    }
});

A successful response returns a source with a unique id.

{
    "error": undefined,
    "source": {
        "id": "775d3ff1-99a3-4640-bd2c-24e4b6b13324",
        "clientId": "gc",
        "channelId": "drdod15",
        "type": "creditCard",
        "owner": {
            "firstName": "Gwen",
            "lastName": "Sawayn",
            "email": "Felicita81@yahoo.com",
            "referenceId": "",
            "address": {
                "line1": "04644 Altenwerth Drives",
                "line2": "Suite 929",
                "city": "North Aurelia",
                "state": "NV",
                "country": "US",
                "postalCode": "93414-6991"
            }
        },
        "amount": "100.00",
        "currency": "USD",
        "status": "chargeable",
        "creationIp": "67.216.237.4",
        "creationDate": "2018-08-22T19:21:59.26Z",
        "flow": "standard",
        "creditCard": {
            "brand": "Visa",
            "expirationMonth": 10,
            "expirationYear": 2019,
            "lastFourDigits": "1111"
        }
    }
}

An unsuccessful response returns an error with information on what must be corrected.

{
    "error": {
        "type": "validation_error",
        "errors": [{
            "code": "incomplete_card_number",
            "message": "Your card number is incomplete."
        }]
    },
    source: undefined
}

Specifying a source's future use

Subscription

Set usage to subscription when you create sources primarily for recurring transactions made at regular intervals for a product or a service.

Convenience

Unscheduled

Set usage to unscheduled when you create sources for unscheduled merchant-initiated transactions. These are contracts that occur on a non-fixed schedule using stored card information. Automatic top-ups are an example of one such transaction. They occur whenever a customer's balance drops below a pre-defined amount.

Retrieving sources

retrieveSource(sourceId, sourceClientSecret)

Use this method to retrieve a source with the front-end DigitalRiver.js library. This method takes two parameters:‌

  • sourceId—The unique ID of the source you want to retrieve.

  • sourceClientSecret—The clientSecret value of the source you are trying to retrieve. This is specific to the source.

The digitalriver.createSource() returns a Promise with a Result object. (See the following source response example.) The Result object will have either:‌

  • result.source—If this object is not null, it will contain the Source object you requested.

  • result.error— If this object is not null, it will contain an Error object with details on the specific error.

digitalriver.retrieveSource("ee90c07c-5549-4a6b-aa5f-aabe29b1e97a","ee90c07c-5549-4a6b-aa5f-aabe29b1e97a_51afe818-0e7f-46d7-8257-b209b20f4d8").then(function(result) {
    if(result.error) {
        //handle error messages
        var errorMessage = result.error.errors[0].message;
    } else {
        //do something with the source
        var source = result.source;
    }
});
{
    "error": undefined,
    "source": {
        "id": "775d3ff1-99a3-4640-bd2c-24e4b6b13324",
        "clientId": "gc",
        "channelId": "drdod15",
        "type": "creditCard",
        "usage": "single",
        "owner": {
            "firstName": "Gwen",
            "lastName": "Sawayn",
            "email": "Felicita81@yahoo.com",
            "referenceId": "",
            "address": {
                "line1": "04644 Altenwerth Drives",
                "line2": "Suite 929",
                "city": "North Aurelia",
                "state": "NV",
                "country": "US",
                "postalCode": "93414-6991"
            }
        },
        "amount": "100.00",
        "currency": "USD",
        "status": "chargeable",
        "creationIp": "67.216.237.4",
        "creationDate": "2018-08-22T19:21:59.26Z",
        "flow": "standard",
        "creditCard": {
            "brand": "Visa",
            "expirationMonth": 10,
            "expirationYear": 2019,
            "lastFourDigits": "1111"
        }
    }
}

Authenticating sources

Parameter
Required/Optional
Description

sessionId

Required

sourceId

Required

sourceClientSecret

Required

The source's client secret.

returnUrl

Required

The return URL where the customer is directed when 3D Secure 1 is required. If the value is not provided, we use the current page location.

After you call either version, Digital River automatically handles any SCA requirements. Once the customer completes the necessary authentication or we determine that authentication isn't required, the method resolves, and the checkout flow can continue.

The method returns a source authentication result object with a promise. The following are its possible status values and the recommended actions:

status
Description

complete

The customer successfully completed the steps necessary to authenticate the source. You can now submit the order.

authentication_not_required

Digital River determined that the payment source didn't require authentication for this payment session. You can now submit the order.

failed

Source authentication failed. The source can still be used in the transaction but may be declined. You should attempt to authenticate the source again.

authenticateSource(data)

digitalriver.authenticateSource({
    "sessionId": "65b1e2c2-632c-4240-8897-195ca22ce108",
    "sourceId": "ee90c07c-5549-4a6b-aa5f-aabe29b1e97a",
    "sourceClientSecret": "ee90c07c-5549-4a6b-aa5f-aabe29b1e97a_51afe818-0e7f-46d7-8257-b209b20f4d8",
    "returnUrl": "https://returnurl.com"
});

The following is an example response when it's determined that authentication isn't required:

{
    "status": "authentication_not_required"
}

authenticateSource([cvvElement], data)

digitalriver.authenticateSource(cvvElement, {
    "sessionId": "65b1e2c2-632c-4240-8897-195ca22ce108",
    "sourceId": "ee90c07c-5549-4a6b-aa5f-aabe29b1e97a",
    "sourceClientSecret": "ee90c07c-5549-4a6b-aa5f-aabe29b1e97a_51afe818-0e7f-46d7-8257-b209b20f4d8",
    "returnUrl": "https://returnurl.com"
});

The following is an example response when a source is successfully authenticated:

{
    "status": "complete"
}

Updating sources

updateSource([element,] sourceData)

Use this method to update details on a source.

This method takes two parameters:‌

  • element—An optional card expiration element for using the Elements portion of this library.

  • sourceData—A required data object containing additional data required to update the payment source.

Field
Required
Type
Description

clientSecret

Required

String

The Client Secret of the source you are updating.

id

Required

String

The ID of the source you are updating.

owner

Optional

An Owner Object

An object containing the Owner details. Note: You can only update the owner information for Credit Cards.

digitalriver.updateSource() returns a Promise that returns a result object. The result object will have either:‌

  • result.source—A source object that was updated in the Payments Service

  • result.error—An error occurred that must be corrected to update the source.

Updating expiration and address information

//Create the element using DigitalRiver.js and place it on the page.
var options = {
    style: {
        base: {
            color: "#fff",
            fontFamily: "Arial, Helvetica, sans-serif",
            fontSize: "20px",
            fontSmoothing: "auto",
            fontStyle: "italic",
            fontVariant: "normal",
            letterSpacing: "3px"
        }
  ...
}
var cardExpiration = digitalriver.createElement('cardexpiration', options);
cardExpiration.mount('card-expiration');


var sourceData = {
        "id": "14381d1c-8bff-4350-aeea-82b36f3a196c",
        "clientSecret": "14381d1c-8bff-4350-aeea-82b36f3a196c_14381d1c-8bff-4350-aeea-82b36f3a196c",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        }
    }


digitalriver.updateSource(cardExpiration, sourceData).then(function(result) {
    if(result.error) {
        //handle error messages
        var errorMessage = result.error.errors[0].message;
    } else {
        //the source has been updated with new details
        var source = result.source;
    }
});
{
    "error": undefined,
    "source": {
        "id": "775d3ff1-99a3-4640-bd2c-24e4b6b13324",
        "clientId": "gc",
        "channelId": "drdod15",
        "type": "creditCard",
        "usage": "single",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        },
        "status": "chargeable",
        "creationIp": "67.216.237.4",
        "creationDate": "2018-08-22T19:21:59.26Z",
        "flow": "standard",
        "creditCard": {
            "brand": "Visa",
            "expirationMonth": 10,
            "expirationYear": 2019,
            "lastFourDigits": "1111"
        }
    }
}

Updating only address information

var sourceData = {
        "id": "14381d1c-8bff-4350-aeea-82b36f3a196c",
        "clientSecret": "14381d1c-8bff-4350-aeea-82b36f3a196c_14381d1c-8bff-4350-aeea-82b36f3a196c",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        }
    }


digitalriver.updateSource(sourceData).then(function(result) {
    if(result.error) {
        //handle error messages
        var errorMessage = result.error.errors[0].message;
    } else {
        //the source has been updated with new details
        var source = result.source;
    }
});
{
    "error": undefined,
    "source": {
        "id": "775d3ff1-99a3-4640-bd2c-24e4b6b13324",
        "clientId": "gc",
        "channelId": "drdod15",
        "type": "creditCard",
        "usage": "single",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        },
        "status": "chargeable",
        "creationIp": "67.216.237.4",
        "creationDate": "2018-08-22T19:21:59.26Z",
        "flow": "standard",
        "creditCard": {
            "brand": "Visa",
            "expirationMonth": 10,
            "expirationYear": 2019,
            "lastFourDigits": "1111"
        }
    }
}

Updating only card expiration information

//Create the element using DigitalRiver.js and place it on the page.
var options = {
    style: {
        base: {
            color: "#fff",
            fontFamily: "Arial, Helvetica, sans-serif",
            fontSize: "20px",
            fontSmoothing: "auto",
            fontStyle: "italic",
            fontVariant: "normal",
            letterSpacing: "3px"
        }

  ...
}
var cardExpiration = digitalriver.createElement('cardexpiration', options);

cardExpiration.mount('card-expiration');


var sourceData = {
        "id": "14381d1c-8bff-4350-aeea-82b36f3a196c",
        "clientSecret": "14381d1c-8bff-4350-aeea-82b36f3a196c_14381d1c-8bff-4350-aeea-82b36f3a196c"
    }


digitalriver.updateSource(cardExpiration, sourceData).then(function(result) {
    if(result.error) {
        //handle error messages
        var errorMessage = result.error.errors[0].message;
    } else {
        //the source has been updated with new details
        var source = result.source;
    }
});
{
    "error": undefined,
    "source": {
        "id": "775d3ff1-99a3-4640-bd2c-24e4b6b13324",
        "clientId": "gc",
        "channelId": "drdod15",
        "type": "creditCard",
        "usage": "single",
        "owner": {
            "firstName": "firstName",
            "lastName": "lastName",
            "email": "email@email.org",
            "address": {
                "line1": "1234 First St.",
                "city": "Minnetonka",
                "state": "MN",
                "country": "US",
                "postalCode": 55410
            }
        },
        "status": "chargeable",
        "creationIp": "67.216.237.4",
        "creationDate": "2018-08-22T19:21:59.26Z",
        "flow": "standard",
        "creditCard": {
            "brand": "Visa",
            "expirationMonth": 10,
            "expirationYear": 2019,
            "lastFourDigits": "1111"
        }
    }
}

Update error‌

If there is a problem with the update request, an error object will be returned in the response.

{
    "error": {
        "type": "validation_error",
        "errors": [{
            "code": "incomplete_card_number",
            "message": "Your card number is incomplete."
        }]
    },

Retrieving available payment methods

retrieveAvailablePaymentMethods([filters])

Use this method to retrieve an array of available payment methods. You can use this to filter and determine applicable payment methods while building your checkout flows. The filters object is optional.

Attribute
Required/Optional
Description

currency

Optional

The currency of the transaction.

country

Optional

The country of the billing addresses associated with this transaction.

supportsStorage

Optional

Whether the payment supports storage.

supportsRecurring

Optional

Whether the payment method supports recurring payments.

supportsFreeTrial

Optional

Whether the payment method supports free trials.

sessionId

Optional

The Payment Session ID. If used, the response will return the payment methods which apply to your transaction.

Retrieve available payment methods response without using session ID

The following example shows a request with no filters applied.

digitalriver.retrieveAvailablePaymentMethods().then(function(result) {
    //do something with the result, this could include showing or hiding specific payment methods that are applicable to the display
});

The following response includes all payment methods that you configured for your account.

{
    "paymentMethods": [
        {
            "type": "alipay",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/alipay.png"
            }
        },
        {
            "type": "applePay",
            "flow": "standard",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/applepay.png"
            }
        },
        {
            "type": "bankTransfer",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/bankTransfer.png"
            }
        },
        {
            "type": "carrierFinancing",
            "flow": "standard",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {}
        },
        {
            "type": "codJapan",
            "flow": "standard",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/codJapan.png"
            }
        },
        {
            "type": "creditCard",
            "flow": "standard",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/creditcard.png"
            }
        },
        {
            "type": "creditInstallment",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {},
            "terms": [
                {
                    "id": "8281",
                    "name": "4x installment for Cetelem",
                    "code": "4_months",
                    "underMinimumAmount": 0,
                    "overMaximumAmount": 0,
                    "durationMonths": 4,
                    "monthlyPaymentAmount": 25.21,
                    "monthlyPaymentWithFeesAmount": 30.21,
                    "orderTotal": 100,
                    "totalRepayable": 120.84,
                    "creditChargeAmount": 20.84,
                    "originationFeeAmount": 5,
                    "administrationFeeAmount": 0,
                    "nominalApr": 4,
                    "effectiveApr": 151.1
                }
            ]
        },
        {
            "type": "directDebit",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/directDebit.png"
            }
        },
        {
            "type": "directDebitGb",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/directDebitGb.png"
            }
        },
        {
            "type": "googlePay",
            "flow": "standard",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/googlepay.png"
            }
        },
        {
            "type": "klarnaCredit",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/klarna.png"
            }
        },
        {
            "type": "klarnaCreditRecurring",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/klarnaRecurring.png"
            }
        },
        {
            "type": "konbini",
            "flow": "receiver",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/konbini.png"
            }
        },
        {
            "type": "onlineBanking",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/onlineBanking.png"
            }
        },
        {
            "type": "payco",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/payco.png"
            }
        },
        {
            "type": "payPal",
            "flow": "redirect",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/paypal.png"
            }
        },
        {
            "type": "payPalBilling",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/paypalBilling.png"
            }
        },
        {
            "type": "wireTransfer",
            "flow": "receiver",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/wireTransfer.png"
            }
        }
    ]
}

Retrieve available payment methods response using filters

The following example shows a request using filters.

digitalriver.retrieveAvailablePaymentMethods({
    "currency": "USD",
    "country": "US",
    "supportsRecurring": true
}).then(function(result) {
    //do something with the result, this could include showing or hiding specific payment methods that are applicable to the display
});

The following response only returns payment methods available in the US, using the USD currency and supporting recurring payments.

{
    "paymentMethods": [
        {
            "type": "creditCard",
            "flow": "standard",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/creditcard.png"
            }
        },
        {
            "type": "googlePay",
            "flow": "standard",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/googlepay.png"
            }
        },
        {
            "type": "klarnaCreditRecurring",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/klarnaRecurring.png"
            }
        },
        {
            "type": "payPalBilling",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/paypalBilling.png"
            }
        }
    ]
}

Retrieve available payment methods response with a Session ID

If you specify a Payment Session ID, you will only receive the payment methods that apply to your transaction.

digitalriver.retrieveAvailablePaymentMethods({
    "sessionId": "d3941a36-6821-4d93-be23-6190226ae5f7"
}).then(function(result) {
    //do something with the result, this could include showing or hiding specific payment methods that are applicable to the display
});
{
    "sessionInformation": {
        "currency": "EUR",
        "country": "FR",
        "amount": "450.00"
    },
    "paymentMethods": [
        {
            "type": "applePay",
            "flow": "standard",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/applepay.png"
            }
        },
        {
            "type": "creditCard",
            "flow": "standard",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/creditcard.png"
            }
        },
        {
            "type": "directDebit",
            "flow": "redirect",
            "supportsRecurring": true,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/directDebit.png"
            }
        },
        {
            "type": "googlePay",
            "flow": "standard",
            "supportsRecurring": true,
            "supportsFreeTrial": true,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/googlepay.png"
            }
        },
        {
            "type": "wireTransfer",
            "flow": "receiver",
            "supportsRecurring": false,
            "supportsFreeTrial": false,
            "images": {
                "iconImage": "https://ui1.img.digitalrivercontent.net/Storefront/images/paymentMethodLogos/wireTransfer.png"
            }
        }
    ]
}

Credit card logos

If you want to display the credit card payment logo on your website, you can use the following URLs to add the appropriate brand logo image to your website:

Best Practices: To ensure you always use the latest logo, link to the URL instead of downloading the image to your website.

Retrieving available banks for Online Banking

retrieveOnlineBankingBanks(countryCode, currency)

This method returns an array that will either be empty if no banks are available or contain objects with Issuer IDs and Bank Names. DigitalRiver.js uses this data when creating an Online Banking source. This method is useful if you want to build a bank selector instead of using the Online Banking element.

digitalriver.retrieveOnlineBankingBanks("DE","EUR").then(function(result) {
    //do something with the banks, this could include building a selector or something else
});
[{
    "bankCode": "86",
    "bankName": "Sofortüberweisung"
}, {
    "bankCode": "21",
    "bankName": "Giropay"
}]

Getting compliance details

Compliance.getDetails()

let config = {
    'language': 'en',
    'country': 'DE',
    'businessEntityCode': 'DR_IRELAND-ENTITY'
  };

var complianceDetails = digitalRiver.Compliance.getDetails(config);

language

country

businessEntityCode

Compliance.getDetails() response

disclosure

In most cases, the nested objects in disclosure contain localizedText and the url of a Digital River-hosted document.

{
    "businessEntity": {
        "name": "Digital River Ireland Ltd.",
        "id": "DR_IRELAND-ENTITY"
    },
    "autorenewalPlanTerms": {
        "localizedText": "By checking the box below and completing your purchase, you expressly authorize and permit Digital River to automatically renew your purchased license or subscription for successive renewal terms each equal in length to the initial term specified above, at the purchase price for your initial term (plus taxes and fees, less any applicable discounts) using the payment information you provided for your initial purchase, until you cancel. At least one email will be sent to you to remind you of each upcoming renewal. We may change the renewal price as of the next renewal date if we provide you with prior notice of the change by email (you can elect to cancel automatic renewal as described below if you do not agree to the change). The Digital River <a href=\"https://store.digitalriver.com/store/defaults/de_DE/DisplayDRTermsAndConditionsPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd.\" target=\"_blank\" class=\"dr_termsAndConditions\">Terms of Sale</a> and <a href=\"https://store.digitalriver.com/store/defaults/de_DE/DisplayDRPrivacyPolicyPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd.\" target=\"_blank\" class=\"dr_privacyPolicy\">Privacy Policy</a> will apply to each renewal transaction. You may cancel your auto-renewal plan at any time by logging into the account interface (access information will be included in your order confirmation email or on the Customer Service Help page), selecting your product, and selecting the option to disable automatic renewal.<br/><br/>I agree that Digital River may store my payment information for future purchases including the processing of any subsequent subscription renewals which may occur following the date of this order."
    },
    "saveCardMandate": {
        "localizedText": "Yes, please save this account and payment information for future purchases."
    },
    "idealRecurringAgreement": {
        "localizedText": "By clicking the box, you authorize Digital River to collect your first payment via iDEAL and use your IBAN to collect the subsequent subscription payments by SEPA direct debit. You can review your SEPA Direct Debit information after order submission. <br/><br/>As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. "
    },
    "confirmDisclosure": {
        "localizedText": "By submitting my order, I agree to the <a href=\"https://store.digitalriver.com/store/defaults/en_IE/DisplayDRTermsAndConditionsPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd.\" target=\"_blank\" class=\"dr_termsAndConditions\">Terms of Sale</a> and the <a href=\"https://store.digitalriver.com/store/defaults/en_IE/DisplayDRPrivacyPolicyPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd.\" target=\"_blank\" class=\"dr_privacyPolicy\">Privacy Policy</a> of Digital River Ireland Ltd."
    },
    "privacyPolicy": {
        "localizedText": "Privacy Policy",
        "url": "https://store.digitalriver.com/store/defaults/en_IE/DisplayDRPrivacyPolicyPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd."
    },
    "termsOfSale": {
        "localizedText": "Terms of Sale",
        "url": "https://store.digitalriver.com/store/defaults/en_IE/DisplayDRTermsAndConditionsPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd."
    },
    "cookiePolicy": {
        "localizedText": "Cookies",
        "url": "https://store.digitalriver.com/store/defaults/en_IE/DisplayDRCookiesPolicyPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd."
    },
    "legalNotice": {
        "localizedText": "Legal Notice",
        "url": "https://store.digitalriver.com/store/defaults/en_IE/DisplayDRContactInformationPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd."
    },
    "cancellationRights": {
        "localizedText": "Cancellation Right",
        "url": "https://store.digitalriver.com/store/defaults/en_IE/DisplayDRTermsAndConditionsPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd.#cancellationRight"
    },
    "resellerDisclosure": {
        "localizedText": "<a href=\"https://store.digitalriver.com/store/defaults/en_IE/DisplayDRAboutDigitalRiverPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd.\" target=\"_blank\" class=\"dr_resellerDisclosure\">Digital River Ireland Ltd.</a> is the authorised retailer and merchant providing e-commerce services for this shop.",
        "url": "https://store.digitalriver.com/store/defaults/en_IE/DisplayDRAboutDigitalRiverPage/eCommerceProvider.Digital%20River%20Ireland%20Ltd."
    }
}
  • resellerDisclosure: Digital River's reseller disclosure.

  • termsOfSale: Digital River's terms of sale.

  • privacyPolicy: Digital River's privacy policy.

  • cookiePolicy: Digital River's cookie policy.

  • cancellationRights: An explanation of a customer's cancellation rights.

  • legalNotice: Digital River's legal notice.

  • confirmDisclosure: Digital River's confirmation disclosure statement. Place this disclosure next to your confirm order button.

  • autorenewalPlanTerms: Digital River's autorenewal terms.

  • saveCardMandate: The save payment methods for future purchase agreements.

  • californiaPrivacyRights: An explanation of a customer's California privacy rights.

  • warrantyInformation: An explanation of warranty information applicable to residents of Italy.

Error

Uncaught Error: businessEntityCode is missing or unsupported, country is missing or unsupported, language is missing or unsupported

For details, refer to the in the article.

When creating sources, you can select a or use a . Both methods, however, require that you provide source data to tokenize. When configuring this data, you can .

error — An that indicates a problem with the tokenization request. It provides the data you must correct before creating a source again.

Use the createSource(sourceData) method to create a payment source that contains information you can safely use with other Digital River APIs. This includes immediate sources (if PCI compliant), redirect sources, or delayed sources. See for more information on the structure of these requests.‌

element — A Element object created using the portion of this library.

sourceData — The source data that you want Digital River to tokenize. See for more information on the required source data.

When creating a source using DigitalRiver.js, you should identify the types of transactions it will likely use in the future. This increases the probability that these future transactions will be approved. The usage value you select should be the one that most closely corresponds to our business model. The available options are , , and .

The convenience setting applies mainly to saved payment sources used for one-off transactions. These are sources where customers are typically present during the checkout flow and want to access their payment information quickly. Select this option if you don't offer or don't have merchant-initiated transactions.

The authenticate source method determines whether a saved payment , selected by a customer during checkout, requires (SCA).

The accepts a required configuration object that contains the data we need to authenticate the source. The requires this same data plus a CVV .

The identifier of this transaction.

The identifier of the selected by the customer.

Do not log, embed in URLs, or expose the sourceClientSecret to anyone other than the customer. On any page that includes the secret, ensure that is enabled.

Call this method to before applying it to a transaction.

In this alternative , you can provide an optional CVV (assuming it is correctly and ). By setting this parameter, the value contained in the field of the CVV Element is included in the authentication request.

When updating a source, you can only update the owner and the expiration details for Credit Cards. If you need to update a non-Credit Card (creditCard) payment type, use .

Visa URL:

Mastercard URL:

American Express URL:

Discover URL:

JCB URL:

Maestro URL:

UnionPay URL:

Use this method to retrieve an array of available banks for a combination of country code and currency code.‌

The exposes , which returns various disclosures, such as terms of sale, privacy policies, save payment agreements, and cancellation rights, that you can use to ensure sales adhere to compliance requirements.

Compliance.getDetails() accepts a configuration object, which consists of a , , and , all of which are required. This increases the probability that Digital River can return appropriately translated disclosures that apply to the customer’s shopping country and the transaction’s .

A required string that determines the language each is translated into. The value you assign this property doesn't affect which specific disclosures are returned, only how their text is rendered.

For a list of accepted values, refer to .

A required string, formatted as an code, represents the customer's shopping country. Since legal requirements vary slightly from country to country, the value you assign to this property determines which specific disclosures Digital River returns. For example, some country values return a customer's cancellation rights, while others do not.

If the transaction involves , country should ideally be the same as the customer’s ship to country. If customers only purchase , you can use their billing country.

A required string that represents the transaction's designated . Similar to country, this affects which disclosures Digital River returns.

In , you can find this value in sellingEntity.id.

For a list of accepted values, refer to .

returns a which contains individual disclosures, such as termsOfSale and privacyPolicy, that you can display to customers. However, Digital River returns an if the function's parameters are missing or unsupported.

In the following disclosure, the text is rendered in English, and the content applies to customers purchasing in Germany facilitated by the Digital River Ireland Ltd. .

businessEntity: The name and identifier.

idealRecurringAgreement: Digital River's recurring payment agreement.

invoiceAgreement: Digital River's agreement.

If , , or are not defined or are assigned an unsupported value, then returns a console error.

Configuring payment methods
Elements
Common payment sources
TLS
ISO 3166-1 alpha-2
ISO 4217
ISO 3166-1 alpha-2
selling entity
checkouts
selling entity
selling entity's
iDEAL
e-invoicing
method that accepts an element
method that doesn't require an element
specify a future source use
subscription
convenience
unscheduled
subscriptions
unscheduled
Element
first version of the method
second version
authenticate a payment source
createSource
DigitalRiver object
Compliance.getDetails()
selling entity
language
country
businessEntityCode
disclosure
Compliance.getDetails()
disclosure
error
language
country
businessEntityCode
Compliance.getDetails()
AmazonPay element
Apple Pay element
Google Pay element
IBAN element
iDEAL element
A Konbini element
An online banking element
An offline refund data collection element
A PayPal element
payment session
payment source
Digital River payment objects
Payment request object
error object
Initializing DigitalRiver.js
Drop-in payments
Drop-in payments integration guide
Element
createSource()
config
Element
authenticate source method
created
mounted
Strong Customer Authentication
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/visa.png
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/mastercard.png
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/amex.png
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/discover.png
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/jcb.png
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/maestro.png
https://ui1.img.digitalrivercontent.net/Storefront/images/creditCardLogos/unionpay.png
Supported selling entities
Supported languages
source
physical products
digital products