Direct Debit

Direct Debit allows users to authorize transactions directly from their bank account, which is a popular international payment method.

You can find an example of integration here.

Create a Direct Debit payment method for your app or website in four easy steps:

Step 1. Build a Direct Debit source request and details objects

Build the Direct Debit Source Request and Details objects.

Direct Debit source request object

A Direct Debit Source Request object requires the following fields.






The total value of the transaction.


The currency of the transaction.


An Owner object.


A Direct Debit Source Details object that includes the details of the transaction.

Direct Debit source details object

The Direct Debit Source Details object requires the following fields.

"returnUrl": ""






If you choose to use the full redirect flow, this is where you will redirect your customer to after authorizing or canceling within the Direct Debit experience.

Step 2. Create a Direct Debit source using DigitalRiver.js

To create a Direct Debit payment source, you must use the createSource method exposed via DigitalRiver.js.

var data = {
"type": "directDebit",
"sessionId": "ea03bf6f-84ef-4993-b1e7-b7d5ecf71d1f",
"owner": {
firstName: "John",
lastName: "Doe",
email: "",
phoneNumber: "000-000-0000",
address: {
line1: "123 Main Street",
line2: "",
city: "Paris",
postalCode: "14390",
country: "FR"
"directDebit": {
"returnUrl": ""
digitalriver.createSource(data).then(function(result) {
if (result.error) {
//handle errors
} else {
var source = result.source;
//send source to back end

Direct Debit source example

"clientId": "gc",
"channelId": "drdod15",
"liveMode": false,
"id": "bddccfc7-4fa8-401b-b661-421cd5047792",
"clientSecret": "bddccfc7-4fa8-401b-b661-421cd5047792_bdddssccfc7-4fa8-401b-b661-421cd5047792",
"type": "directDebit",
"reusable": false,
"owner": {
"firstName": "John",
"lastName": "Doe",
"email": "",
"phoneNumber": "000-000-0000",
"address": {
"line1": "98 Boulevard Saint-Germain",
"city": "Paris",
"state": "Île-de-France",
"country": "FR",
"postalCode": "75005"
"amount": "778.39",
"currency": "EUR",
"state": "pending_redirect",
"creationIp": "",
"createdTime": "2019-05-22T01:48:42.168Z",
"updatedTime": "2019-05-22T01:48:42.168Z",
"flow": "redirect",
"redirect": {
"redirectUrl": "",
"returnUrl": ""
"directDebit": {}

Step 3. Authorize a Direct Debit source

When you create a Direct Debit source, the customer is required to authorize the charge through their payment provider. You can accomplish this by redirecting the customer to their payment provider.

Redirecting the customer for Direct Debit authorization

To redirect your customer for authorization, use the redirectUrl parameter in your createSource response.

window.location.href = sourceResponse.redirect.redirectUrl;

The payment provider will present the customer with the transaction details where they can authorize or cancel the transaction. A successful authorization redirects the customer to the Direct Debit Return URL parameter you specified when you created the source.

Step 4. Use the authorized source

Once authorized, you can use the source by attaching it to a cart or attaching it to a shopper.

Option 1. Attach the source to a cart

POST /v1/shoppers/me/carts/active/apply-payment-method
POST /v1/shoppers/me/carts/active/apply-payment-method
"paymentMethod": {
"sourceId": "e7ba0595-059c-460c-bad8-2812123b9313"

Option 2. Attach the source to a shopper

POST /v1/shoppers/me/payment-options
POST /v1/shoppers/me/payment-options
"paymentOption": {
"nickName": "My Token",
"isDefault": "true",
"sourceId": "61033d62-c0f4-4a7e-b844-07daf26ba84e"

Supported geographies

Direct Debit supports the following geographies and currencies.

Supported geographies

Austria (AT), Belgium (BE), Bulgaria (BG), Croatia (HR), Cyprus (CY), Czech Republic (CZ), Denmark (DK), Estonia (EE), Finland (FI), France (FR), Germany (DE), Greece (GR), Hungary (HU), Iceland (IS), Ireland (IE), Italy (IT), Latvia (LV), Liechtenstein (LI), Lithuania (LT), Luxembourg (LU), Malta (MT), Monaco (MC), Netherlands (NL), Norway (NO), Poland (PL), Portugal (PT), Romania (RO), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Sweden (SE), Switzerland (CH), Vatican City State / Holy See Principality of Andorra (VA)

Supported currencies