Billpay Invoice
Payment Process | Integration | ||
---|---|---|---|
Authorization | ✔️ | Payment Page | ✔️ |
Deferred Settlement | ✔️ | Split Mode | ❌ |
Refund | ✔️ | Mobile SDK | ❌ |
Cancel | ✔️ | ||
Alias | ❌ |
Description
BillPay makes purchasing on the internet secure, simple and convenient for merchants and customers. The company employs the popular methods of purchase on account, hire purchase and direct debit. The platform for the handling of payments is offered for Germany, Austria and Switzerland.
With BillPay’s 100% payment guarantee merchants do not incur a risk as their transactions are guaranteed to be paid - irrespective of whether the customer settles the debt. Moreover BillPay takes on the risk management and collection for the merchant.
Payment Method provider website 🔗
Request and response parameter reference
For a more detailed description of the request and response parameters for Billpay Invoice
please check the API Reference
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>BPY</pmethod>
<amount>350</amount>
<currency>EUR</currency>
<refno>1536047306558</refno>
<reqtype>NOA</reqtype>
<sign>130930145825488031</sign>
<uppCustomerDetails>
<uppCustomerGender>Herr</uppCustomerGender>
<uppCustomerEmail>[email protected]</uppCustomerEmail>
<uppCustomerFirstName>Max552523652323552</uppCustomerFirstName>
<uppCustomerLastName>Mustermann55663553565525</uppCustomerLastName>
<uppCustomerBirthDate>25.08.1979</uppCustomerBirthDate>
<uppCustomerStreet>Spengerstrasse</uppCustomerStreet>
<uppCustomerStreet2>37</uppCustomerStreet2>
<uppCustomerCity>Bern</uppCustomerCity>
<uppCustomerZipCode>1050</uppCustomerZipCode>
<uppCustomerCountry>CHE</uppCustomerCountry>
<uppShippingPrice>20</uppShippingPrice>
<uppShippingPriceGross>20</uppShippingPriceGross>
<uppShippingDetails>no</uppShippingDetails>
<uppArticle_1_Id>PK4000</uppArticle_1_Id>
<uppArticle_1_Price>270</uppArticle_1_Price>
<uppArticle_1_PriceGross>300</uppArticle_1_PriceGross>
<uppArticle_1_Quantity>1</uppArticle_1_Quantity>
<uppArticle_1_Name>Bottle+Opener</uppArticle_1_Name>
<uppArticle_1_Description>Nice+gadget</uppArticle_1_Description>
<uppArticle_2_Id>PK4002</uppArticle_2_Id>
<uppArticle_2_Price>12</uppArticle_2_Price>
<uppArticle_2_PriceGross>15</uppArticle_2_PriceGross>
<uppArticle_2_Quantity>2</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>BPY</pmethod>
<amount>350</amount>
<currency>EUR</currency>
<reqtype>NOA</reqtype>
<sign>130930145825488031</sign>
<uppCustomerDetails>
<uppCustomerGender>Herr</uppCustomerGender>
<uppCustomerEmail>[email protected]</uppCustomerEmail>
<uppCustomerFirstName>Max552523652323552</uppCustomerFirstName>
<uppCustomerLastName>Mustermann55663553565525</uppCustomerLastName>
<uppCustomerBirthDate>25.08.1979</uppCustomerBirthDate>
<uppCustomerStreet>Spengerstrasse</uppCustomerStreet>
<uppCustomerStreet2>37</uppCustomerStreet2>
<uppCustomerCity>Bern</uppCustomerCity>
<uppCustomerZipCode>1050</uppCustomerZipCode>
<uppCustomerCountry>CHE</uppCustomerCountry>
<uppShippingPrice>20</uppShippingPrice>
<uppShippingPriceGross>20</uppShippingPriceGross>
<uppShippingDetails>no</uppShippingDetails>
<uppArticle_1_Id>PK4000</uppArticle_1_Id>
<uppArticle_1_Price>270</uppArticle_1_Price>
<uppArticle_1_PriceGross>300</uppArticle_1_PriceGross>
<uppArticle_1_Quantity>1</uppArticle_1_Quantity>
<uppArticle_1_Name>Bottle+Opener</uppArticle_1_Name>
<uppArticle_1_Description>Nice+gadget</uppArticle_1_Description>
<uppArticle_2_Id>PK4002</uppArticle_2_Id>
<uppArticle_2_Price>12</uppArticle_2_Price>
<uppArticle_2_PriceGross>15</uppArticle_2_PriceGross>
<uppArticle_2_Quantity>2</uppArticle_2_Quantity>
<uppArticle_2_Name>Printer</uppArticle_2_Name>
<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>350</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>350</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>350</amount>
<netAmount>350</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>350</amount>
<netAmount>350</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>350</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>350</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>350</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