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

$isOnline = $client->directDebitService()->monitor();

Direct Debit Purchases

Process a Purchase

Process an ACH purchase
$response = $this->ACHclient->directDebitService()->submit(new Purchase(array(
	'merchantRefNum' => "ORDER_ID:1231",
	'amount' => 100,
	'ach' => array(
		'accountHolderName' => "John",
		'accountType' => "CHECKING",
		'accountNumber' => "988772192",
		'routingNumber' => "211589828",
		'payMethod' => "PPD"
	) ,
	'profile' => array(
		'firstName' => "John",
		'lastName' => "Doe",
		'email' => "Joe.Smith@hotmail.com"
	) ,
	'billingDetails' => array(
		'street' => 'Broadway',
		'city' => 'city',
		'state' => 'New York',
		'country' => 'US',
		'zip' => '10007',
		'phone' => '2126455550'
	)
)));
Process an ACH purchase using a payment token
$response = $client->directDebitService()->submit(new Purchase(array(
	'merchantRefNum' => "ORDER_ID:1235";
	'amount' => 100,
	'ach' => array(
		'paymentToken' => 'DeZpXwrWtKIt8pN',
		'payMethod' => "WEB"
	)
)));
Process an EFT purchase
$response = $client->directDebitService()->submit(new Purchase(array(
	'merchantRefNum' => "ORDER_ID:1231",
	'amount' => 100,
	'eft' => array(
		'accountHolderName' => "John",
		'accountNumber' => "336612",
		'transitNumber' => "22446",
		'institutionId' => "001"
	) ,
	'profile' => array(
		'firstName' => "John",
		'lastName' => "Doe",
		'email' => "Joe.Smith@hotmail.com"
	) ,
	'billingDetails' => array(
		'street' => 'Broadway',
		'city' => 'New York city',
		'state' => 'New York',
		'country' => 'US',
		'zip' => '10007',
		'phone' => '2126455550'
	)
)));
Process an EFT purchase using a payment token
$response = $client->directDebitService()->submit(new Purchase(array(
	'merchantRefNum' => "ORDER_ID:1235",
	'amount' => 100,
	'eft' => array(
		'paymentToken' => 'Dw6TqO65OiBamTA'
	)
)));
Process a BACS purchase using a payment token
$response = $client->directDebitService()->submit(new Purchase(array(
	'merchantRefNum' => "ORDER_ID:1235",
	'amount' => 100,
	'bacs' => array(
		'paymentToken' => 'MPYuiNEUsKG5Y3A'
	)
)));
Process a SEPA purchase using a payment token
$response = $client->directDebitService()->submit(new Purchase(array(
	'merchantRefNum' => "ORDER_ID:1235",
	'amount' => 100,
	'sepa' => array(
		'paymentToken' => 'MDY403mrZlgYgcL'
	)
)));

Cancel a Purchase

Cancel a purchase
$response = $client->directDebitService()->cancelPurchase(new Purchase(array(
	'status' => "CANCELLED"
)));

Look Up a Purchase

Look up a purchase using an ID
$purchase = $client->directDebitService()->getPurchase(new Purchase(array(
	'status' => "COMPLETED"
)));
Look up a purchase using a merchant reference number
$response = $client->directDebitService()->getStandaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => “ORDER_ID:
		1231”
	)) , new Filter(array(
		'limit' => 15,
		'offset' => 0
	)));

Direct Debit Standalone Credits

Process a Standalone Credit

Process an ACH standalone credit
$response = $client->directDebitService()->standaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => "ORDER_ID:1231",
	'amount' => "100",
	'ach' => array(
		'accountHolderName' => "XYZ Company",
		'accountType' => "CHECKING",
		'accountNumber' => "988772192",
		'routingNumber' => "211589828",
		'payMethod' => "PPD"
	) ,
	'profile' => array(
		'firstName' => "Joe",
		'lastName' => "smith",
		'email' => "Joe.Smith@hotmail.com"
	) ,
	'billingDetails' => array(
		'street' => "100 Queen Street West",
		'city' => "Los Angeles",
		'state' => "CA",
		'country' => "US",
		'zip' => "M5H 2N2",
		'phone' => "3102649010"
	)
)));
Process an ACH standalone credit using a payment token
$response = $client->directDebitService()->standaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => “ORDER_ID:
		1231”'amount' => "10098",
		'ach' => array(
			'paymentToken' => "DmeucrpwVXlrLkw",
			'payMethod' => "PPD"
		) ‘customerIp’ => "192.0.126.111"
	)));
Process an EFT standalone credit
$response = $client->directDebitService()->standaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => "ORDER_ID:1231",
	'amount' => "100",
	'eft' => array(
		'accountHolderName' => "XYZ Company",
		'accountNumber' => "336612",
		'transitNumber' => "22446",
		'institutionId' => "001"
	) ,
	"customerIp":
		"192.0.126.111",
		'profile' => array(
			'firstName' => "Joe",
			'lastName' => "Doe",
			'email' => " Joe.Smith@hotmail.com "
		) ,
		'billingDetails' => array(
			'street' => "100 Queen Street West",
			'city' => "Los Angeles",
			'state' => "CA",
			'country' => "US",
			'zip' => "M5H 2N2",
			'phone' => "3102649010"
		)
	)));
Process an EFT standalone credit using a payment token
$response = $client->directDebitService()->standaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => “ORDER_ID:
		1235”,
		'amount' => "100",
		'eft' => array(
			'paymentToken' => "Dw6TqO65OiBamTA",
		)
	)));
Process a BACS standalone credit using a payment token
$response = $client->directDebitService()->standaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => "ORDER_ID:1231",
	'amount' => "100",
	'bacs' => array(
		'paymentToken' => "Dw6TqO65OiBamTA",
	)
)));

Cancel a Standalone Credit

Cancel a standalone credit
$response = $client->directDebitService()->cancelStandaloneCredits(new StandaloneCredits(array(
	'status' => "CANCELLED"
)));

Look Up a Standalone Credit

Look up a standalone credit using an ID
$response = $client->directDebitService()->getStandaloneCredit(new StandaloneCredits(array(
	'status' => "CANCELLED"
)));
Look up a standalone credit using a merchant reference number
$response = $client->directDebitService()->getStandaloneCredits(new StandaloneCredits(array(
	'merchantRefNum' => “ORDER_ID:
		1231”
	)) , new Filter(array(
		'limit' => 15,
		'offset' => 0
	)));
Did you find this page useful?