Billpay Direct Debit
Payment Process | Integration | ||
---|---|---|---|
Authorization | ✔️ | Payment Page | ❌ |
Deferred Settlement | ✔️ | Split Mode | ✔️ |
Refund | ✔️ | Mobile SDK | ❌ |
Cancel | ✔️ | ||
Alias | ❌ |
Description
Direct debit offers a simple way to pay. It is particularly convenient for recurring payment transactions and repeat orders. Buy multiple times from a shop you trust and the payment will simply be deducted from your account.
Payment Method provider website 🔗
Request and response parameter reference
For a more detailed description of the request and response parameters for Billpay Direct Debit
please check the API Reference
Test
Account Numer: DE12500105170648489890
Bank Code: INGDDEFFXXX
Web payment flow
Server to Server API calls
After a transactionId or alias was received by completing the payment flow on the web, the following server to server API calls can be used to do other actions.
Authorization
Request
curl -v -X POST https://api.sandbox.datatrans.com/upp/jsp/XML_authorize.jsp \
-H 'Content-Type: application/xml' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d @- << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<authorizationService version="6">
<body merchantId="1100003268">
<transaction refno="749532">
<request>
<pmethod>BPL</pmethod>
<amount>43000</amount>
<currency>EUR</currency>
<reqtype>NOA</reqtype>
<sign>130930145825488031</sign>
<uppCustomerDetails>
<uppCustomerDetails>yes</uppCustomerDetails>
<uppCustomerOccurence>EXISTING</uppCustomerOccurence>
<uppCustomerGender>Frau</uppCustomerGender>
<uppCustomerEmail>[email protected]</uppCustomerEmail>
<uppCustomerId>8574843</uppCustomerId>
<uppCustomerTitle>Dr</uppCustomerTitle>
<uppCustomerFirstName>Max1536066420406</uppCustomerFirstName>
<uppCustomerLastName>Mustermann</uppCustomerLastName>
<uppRebate>1681</uppRebate>
<uppRebateGross>2000</uppRebateGross>
<uppCustomerType>P</uppCustomerType>
<uppCustomerCompanyHolderName></uppCustomerCompanyHolderName>
<uppCustomerBirthDate>25.08.1979</uppCustomerBirthDate>
<uppCustomerStreet>Musterstraße</uppCustomerStreet>
<uppCustomerStreet2>37</uppCustomerStreet2>
<uppCustomerStreet3></uppCustomerStreet3>
<uppCustomerCity>Musterstadt</uppCustomerCity>
<uppCustomerZipCode>12345</uppCustomerZipCode>
<uppCustomerPhone>19876543</uppCustomerPhone>
<uppCustomerCellPhone>0177123443534</uppCustomerCellPhone>
<uppCustomerCountry>DEU</uppCustomerCountry>
<uppShippingPrice>840</uppShippingPrice>
<uppShippingPriceGross>1000</uppShippingPriceGross>
<uppShippingCarrier></uppShippingCarrier>
<uppShippingDetails>no</uppShippingDetails>
<uppArticle_1_Id>1234</uppArticle_1_Id>
<uppArticle_1_Price>10084</uppArticle_1_Price>
<uppArticle_1_PriceGross>12000</uppArticle_1_PriceGross>
<uppArticle_1_Quantity>2</uppArticle_1_Quantity>
<uppArticle_1_Name>Bottle+Opener</uppArticle_1_Name>
<uppArticle_1_Description>Nice+gadget</uppArticle_1_Description>
<uppArticle_2_Id>2345</uppArticle_2_Id>
<uppArticle_2_Price>16807</uppArticle_2_Price>
<uppArticle_2_PriceGross>20000</uppArticle_2_PriceGross>
<uppArticle_2_Quantity>1</uppArticle_2_Quantity>
<uppArticle_2_Name>Printer</uppArticle_2_Name>
<uppArticle_2_Description></uppArticle_2_Description>
</uppCustomerDetails>
</request>
</transaction>
</body>
</authorizationService>
EOF
Response
<?xml version='1.0' encoding='UTF-8'?>
<authorizationService version='6'>
<body merchantId='1100003268' status='accepted'>
<transaction refno='749532' trxStatus='response'>
<request>
<pmethod>BPL</pmethod>
<amount>43000</amount>
<currency>EUR</currency>
<refno>1536047306558</refno>
<reqtype>NOA</reqtype>
<sign>130930145825488031</sign>
<uppCustomerDetails>
<uppCustomerOccurence>EXISTING</uppCustomerOccurence>
<uppCustomerGender>Frau</uppCustomerGender>
<uppCustomerEmail>[email protected]</uppCustomerEmail>
<uppCustomerId>8574843</uppCustomerId>
<uppCustomerTitle>Dr</uppCustomerTitle>
<uppCustomerFirstName>Max1536066420406</uppCustomerFirstName>
<uppCustomerLastName>Mustermann</uppCustomerLastName>
<uppRebate>1681</uppRebate>
<uppRebateGross>2000</uppRebateGross>
<uppCustomerType>P</uppCustomerType>
<uppCustomerCompanyHolderName></uppCustomerCompanyHolderName>
<uppCustomerBirthDate>25.08.1979</uppCustomerBirthDate>
<uppCustomerStreet>Musterstraße</uppCustomerStreet>
<uppCustomerStreet2>37</uppCustomerStreet2>
<uppCustomerStreet3></uppCustomerStreet3>
<uppCustomerCity>Musterstadt</uppCustomerCity>
<uppCustomerZipCode>12345</uppCustomerZipCode>
<uppCustomerPhone>19876543</uppCustomerPhone>
<uppCustomerCellPhone>0177123443534</uppCustomerCellPhone>
<uppCustomerCountry>DEU</uppCustomerCountry>
<uppShippingPrice>840</uppShippingPrice>
<uppShippingPriceGross>1000</uppShippingPriceGross>
<uppShippingCarrier></uppShippingCarrier>
<uppShippingDetails>no</uppShippingDetails>
<uppArticle_1_Id>1234</uppArticle_1_Id>
<uppArticle_1_Price>10084</uppArticle_1_Price>
<uppArticle_1_PriceGross>12000</uppArticle_1_PriceGross>
<uppArticle_1_Quantity>2</uppArticle_1_Quantity>
<uppArticle_1_Name>Bottle+Opener</uppArticle_1_Name>
<uppArticle_1_Description>Nice+gadget</uppArticle_1_Description>
<uppArticle_2_Id>2345</uppArticle_2_Id>
<uppArticle_2_Price>16807</uppArticle_2_Price>
<uppArticle_2_PriceGross>20000</uppArticle_2_PriceGross>
<uppArticle_2_Quantity>1</uppArticle_2_Quantity>
<uppArticle_2_Name>Printer</uppArticle_2_Name>
<uppArticle_2_Description></uppArticle_2_Description>
</uppCustomerDetails>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage></responseMessage>
<uppTransactionId>180904130510805661</uppTransactionId>
<authorizationCode>510815662</authorizationCode>
<acqAuthorizationCode>e891cacb-3216-4a97-9ed3-ae4756503113</acqAuthorizationCode>
<accountHolder>Billpay GmbH</accountHolder>
<bankCode>TESTBIC0003</bankCode>
<invoiceReference>BP749532/4388</invoiceReference>
<bankName>BillPay Test Bank</bankName>
<accountNumber>DE2501200000TEST000000000003</accountNumber>
</response>
</transaction>
</body>
</authorizationService>
Settlement
Request
curl -v -X POST https://api.sandbox.datatrans.com/upp/jsp/XML_processor.jsp \
-H 'Content-Type: application/xml' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d @- << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<paymentService version="2">
<body merchantId="1100003268">
<transaction refno="749532">
<request>
<amount>43000</amount>
<currency>EUR</currency>
<uppTransactionId>180904130510805661</uppTransactionId>
</request>
</transaction>
</body>
</paymentService>
EOF
Response
<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
<body merchantId='1100003268' status='accepted'>
<transaction refno='749532' trxStatus='response'>
<request>
<amount>43000</amount>
<currency>EUR</currency>
<uppTransactionId>180904130510805661</uppTransactionId>
<reqtype>COA</reqtype>
<transtype>05</transtype>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>settlement succeeded</responseMessage>
<accountHolder>Billpay GmbH</accountHolder>
<bankCode>TESTBIC0003</bankCode>
<invoiceReference>BP749532/4388</invoiceReference>
<bankName>BillPay Test Bank</bankName>
<accountNumber>DE2501200000TEST000000000003</accountNumber>
<invoiceDueDate>04.10.2018</invoiceDueDate>
</response>
</transaction>
</body>
</paymentService>
Credit
Request
curl -v -X POST https://api.sandbox.datatrans.com/upp/jsp/XML_processor.jsp \
-H 'Content-Type: application/xml' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d @- << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<paymentService version="2">
<body merchantId="1100003268">
<transaction refno="749532">
<request>
<amount>43000</amount>
<netAmount>43000</netAmount>
<currency>EUR</currency>
<uppTransactionId>180904130510805661</uppTransactionId>
<transtype>06</transtype>
</request>
</transaction>
</body>
</paymentService>
EOF
Response
<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
<body merchantId='1100003268' status='accepted'>
<transaction refno='749532' trxStatus='response'>
<request>
<amount>43000</amount>
<netAmount>43000</netAmount>
<currency>EUR</currency>
<uppTransactionId>180904130510805661</uppTransactionId>
<transtype>06</transtype>
<reqtype>COA</reqtype>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>credit succeeded</responseMessage>
<uppTransactionId>180904130740676984</uppTransactionId>
<authorizationCode>740946985</authorizationCode>
<acqAuthorizationCode>0</acqAuthorizationCode>
</response>
</transaction>
</body>
</paymentService>
Cancel
Request
curl -v -X POST https://api.sandbox.datatrans.com/upp/jsp/XML_processor.jsp \
-H 'Content-Type: application/xml' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d @- << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<paymentService version="2">
<body merchantId="1100003268">
<transaction refno="749532">
<request>
<amount>43000</amount>
<currency>EUR</currency>
<uppTransactionId>180904131036478067</uppTransactionId>
<reqtype>DOA</reqtype>
</request>
</transaction>
</body>
</paymentService>
EOF
Response
<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
<body merchantId='1100003268' status='accepted'>
<transaction refno='749532' trxStatus='response'>
<request>
<amount>43000</amount>
<currency>EUR</currency>
<uppTransactionId>180904131036478067</uppTransactionId>
<reqtype>DOA</reqtype>
<transtype>05</transtype>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>cancellation succeeded</responseMessage>
</response>
</transaction>
</body>
</paymentService>
Status
Request
curl -v -X POST https://api.sandbox.datatrans.com/upp/jsp/XML_status.jsp \
-H 'Content-Type: application/xml' \
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d @- << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8" ?>
<statusService version="5">
<body merchantId="1100003268">
<transaction>
<request>
<uppTransactionId>180904131036478067</uppTransactionId>
<reqtype>STX</reqtype>
</request>
</transaction>
</body>
</statusService>
EOF
Response
<?xml version='1.0' encoding='UTF-8'?>
<statusService version='5'>
<body merchantId='1100003268' status='accepted'>
<transaction trxStatus='response'>
<request>
<uppTransactionId>180904131036478067</uppTransactionId>
<reqtype>STX</reqtype>
</request>
<response itemNr='1'>
<responseCode>7</responseCode>
<responseMessage>MOA Cancel</responseMessage>
<refno>1536059435088</refno>
<amount>43000</amount>
<currency>EUR</currency>
<authorizationCode>937798088</authorizationCode>
<pmethod>BPY</pmethod>
<uppTransactionId>180904131036478067</uppTransactionId>
<maskedCC></maskedCC>
<aliasCC></aliasCC>
<expm></expm>
<expy></expy>
<trxDate>20180904</trxDate>
<trxTime>131036</trxTime>
<trtype>05</trtype>
</response>
</transaction>
</body>
</statusService>
Updated over 2 years ago