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);