Direct Debit

You can integrate your e-commerce application directly to our platform-agnostic Direct Debit API and process purchases and credits through a variety of bank schemes.

Click the links below to view our code samples.

Verify That the Service Is Accessible

boolean isOnline = apiClient.directDebitService().monitor();

Direct Debit Purchases

Process a Purchase

Process an ACH purchase
Purchases purchaseresponse= Purchases.builder()
                         .merchantRefNum("ORDER_ID:1231")
                         .amount(10098)
                         .ach()
                                .accountHolderName("XYZ Company")
                                .accountType("CHECKING")
                                .accountNumber("988772192")
                                .routingNumber("211589828")
                                .payMethod("WEB")
                         .done()
                         .customerIp("192.0.126.111")
                         .profile()
                                .firstName("Joe")
                                .lastName("Smith")
                                .email("Joe.Smith@hotmail.com")
                         .done()
                         .billingDetails()
                                .street("100 Queen Street West")
                                .city("Los Angeles")
                                .state("CA")
                                .country("US")
                                .zip("90210")
                                .phone("3102649010")
                         .done()
                         .build();
Purchases response = apiClient.customerVaultService().submitPurchase(purchaseresponse);
Process an ACH purchase using a payment token
Purchases purchaseresponse  = Purchases.builder()
                 .merchantRefNum("ORDER_ID:1235")
                 .amount(10038)
                 .ach()
                          .paymentToken(achBankAccounts.getPaymentToken())
                          .payMethod("WEB")
                 .done()
                 .build();
Purchases response = apiClient.customerVaultService().submitPurchase(purchaseresponse);
Process an EFT purchase
Purchases purchaseresponse = Purchases.builder()
                 .merchantRefNum(“ORDER_ID:1231”)
                 .amount(10098)
                 .eft()
                        .accountHolderName("XYZ Company")
                        .accountNumber(“336612”)
                        .transitNumber("22446")
                        .institutionId("001")
                 .done()
                 .customerIp("192.0.126.111")
                 .profile()
                        .firstName("Joe")
                        .lastName("Smith")
                        .email("Joe.Smith@hiotmail.com")
                 .done()
                 .billingDetails()
                        .street("100 Queen Street West")
                        .city("Los Angeles")
                        .state("CA")
                        .country("US")
                        .zip("90210")
                        .phone("6134491100")
                 .done()
                 .build();
Purchases response = apiClient.customerVaultService().submitPurchase(purchaseresponse);
Process an EFT purchase using a payment token
Purchases purchaseresponse = Purchases.builder()
                 .merchantRefNum(“ORDER_ID:1231”)
                 .amount(10098)
                 .eft()
                          .paymentToken(eftBankAccounts.getPaymentToken())
                 .done()
                 .build();
Purchases response = apiClient.customerVaultService().submitPurchase(purchaseresponse);
Process a BACS purchase using a payment token
Purchases purchaseresponse = Purchases.builder()
                 .merchantRefNum("ORDER_ID:1235")
                 .amount(10098)
                 .bacs()
                          .paymentToken("MlNZigR2IcPCyj4")
                 .done()
                 .build();
Purchases response = apiClient.customerVaultService().submitPurchase(purchaseresponse);
Process a SEPA purchase using a payment token
Purchases purchaseresponse = Purchases.builder()
                 .merchantRefNum("ORDER_ID:1235")
                 .amount(10098)
                 .sepa()
                          .paymentToken("Mk88c2UusFQQccm")
                 .done()
                 .build();
Purchases response = apiClient.customerVaultService().submitPurchase(purchaseresponse);

Cancel a Purchase

Cancel a purchase
Purchases purchaseresponse = Purchases.builder()
              .status("CANCELLED")
              .id(Id.create("a02e52c7-c991-4418-966a-b62989cb0eae", Purchases.class))
              .build();
Purchases response = apiClient.customerVaultService().cancelPurchase(purchaseresponse);

Look Up a Purchase

Look up a purchase using an ID
Purchases purchaseresponse = Purchases.builder()
                  .id(Id.create("a02e52c7-c991-4418-966a-b62989cb0eae", Purchases.class))
                  .build();
Purchases response = apiClient.customerVaultService().getPurchase(purchaseresponse);
Look up a purchase using a merchant reference number
String merchantRefNum="20160421-5718a3da57e8a";
Filter f=new Filter();
f.setLimit(2);
 Pagerator<Purchases> response = Purchases.builder()
                    .merchantRefNum("20160421-5718a3da57e8a")
                    .build(),f;
Purchases response = apiClient.customerVaultService().getPurchases(purchaseresponse);

Direct Debit Standalone Credits

Process a Standalone Credit

Process an ACH standalone credit
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                 .merchantRefNum(java.util.UUID.randomUUID().toString())
                 .amount(10098)
                 .ach()
                        .accountHolderName("XYZ Company")
                        .accountType("CHECKING")
                        .accountNumber("970778344")
                        .routingNumber("211589828")
                        .payMethod("WEB")
                 .done()
                 .customerIp("192.0.126.111")
                 .profile()
                        .firstName("Joe")
                        .lastName("Smith")
                        .email("Joe.Smith@hotmail.com")
                 .done()
                 .billingDetails()
                        .street("100 Queen Street West")
                        .city("Los Angeles")
                        .state("CA")
                        .country("US")
                        .zip("90210")
                        .phone("3102649010")
                 .done()
                 .build();
StandaloneCredits response = apiClient.customerVaultService().submitStandaloneCredit(standaloneresponse);
Process an ACH standalone credit using a payment token
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                 .merchantRefNum("ORDER_ID:1235")
                 .amount(10038)
                 .ach()
                          .paymentToken(achBankAccounts.getPaymentToken())
                          .payMethod("WEB")
                 .done()
                 .build();
StandaloneCredits response = apiClient.customerVaultService().submitStandaloneCredit(standaloneresponse);
Process an EFT standalone credit
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                 .merchantRefNum(“ORDER_ID:1231”)
                 .amount(10098)
                 .eft()
                        .accountHolderName("XYZ Company")
                        .accountNumber(“336612”)
                        .transitNumber("22446")
                        .institutionId("001")
                 .done()
                 .customerIp("192.0.126.111")
                 .profile()
                        .firstName("Joe")
                        .lastName("Smith")
                        .email("Joe.Smith@hiotmail.com")
                 .done()
                 .billingDetails()
                        .street("100 Queen Street West")
                        .city("Los Angeles")
                        .state("CA")
                        .country("US")
                        .zip("90210")
                        .phone("6134491100")
                 .done()
                 .build();
StandaloneCredits response = apiClient.customerVaultService().submitStandaloneCredit(standaloneresponse);
Process an EFT standalone credit using a payment token
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                 .merchantRefNum(“ORDER_ID:1231”)
                 .amount(10098)
                 .eft()
                          .paymentToken(eftBankAccounts.getPaymentToken())
                 .done()
                 .build();
StandaloneCredits response = apiClient.customerVaultService().submitStandaloneCredit(standaloneresponse);
Process a BACS standalone credit using a payment token
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                 .merchantRefNum("ORDER_ID:1235")
                 .amount(10098)
                 .bacs()
                          .paymentToken("MlNZigR2IcPCyj4")
                 .done()
                 .build();
StandaloneCredits response = apiClient.customerVaultService().submitStandaloneCredit(standaloneresponse);

Cancel a Standalone Credit

Cancel a standalone credit
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                          .status("CANCELLED")
              .id(Id.create("a02e52c7-c991-4418-966a-b62989cb0eae", StandaloneCredits .class))
                          .build();
StandaloneCredits response = apiClient.customerVaultService().cancelStandaloneCredit(standaloneresponse);

Look Up a Standalone Credit

Look up a standalone credit using an ID
StandaloneCredits standaloneresponse = StandaloneCredits.builder()
                  .id(Id.create("a02e52c7-c991-4418-966a-b62989cb0eae", StandaloneCredits .class))
                                  .build();
StandaloneCredits response = apiClient.customerVaultService().getStandaloneCredit(standaloneresponse);
Look up a standalone credit using a merchant reference number
String merchantRefNum="20160421-5718a3da57e8a";
Filter f=new Filter();
f.setLimit(2);
 Pagerator< StandaloneCredits > response = StandaloneCredits.builder()
                    .merchantRefNum("20160421-5718a3da57e8a")
                    .build(),f;
StandaloneCredits response = apiClient.customerVaultService().getStandaloneCredits(standaloneresponse);
Did you find this page useful?