SEPA / ELV
Payment Process | Integration | ||
---|---|---|---|
Authorization | ✔️ | Payment Page | ✔️ |
Deferred Settlement | ✔️ | Split Mode | ✔️ |
Refund | :X: | Mobile SDK | ✔️ |
Cancel | ✔️ | ||
Alias | ✔️ |
Description
The method of payment, which is very common in Germany, is mainly used by internet customers who do not own a credit card. The purchaser enters his/her IBAN (International Bank Account Number). Datatrans then ensures the secure transfer and processing of the customer data.
Acquirer Information
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
Using bankiban
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="1000011011">
<transaction refno="131666">
<request>
<amount>1000</amount>
<currency>CHF</currency>
<pmethod>ELV</pmethod>
<bankiban>DE85123456781234512345</bankiban>
<sign>30916165706580013</sign>
</request>
</transaction>
</body>
</authorizationService>
Using aliasCC
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="1000011011">
<transaction refno="131666">
<request>
<amount>1000</amount>
<currency>CHF</currency>
<pmethod>ELV</pmethod>
<aliasCC>150325174232694472</aliasCC>
<sign>30916165706580013</sign>
</request>
</transaction>
</body>
</authorizationService>
EOF
Response
If bankiban
was used for the request.
<?xml version='1.0' encoding='UTF-8'?>
<authorizationService version='6'>
<body merchantId='1000011011' status='accepted'>
<transaction refno='131666' trxStatus='response'>
<request>
<amount>1000</amount>
<currency>CHF</currency>
<pmethod>ELV</pmethod>
<bankiban>DE85123456781234512345</bankiban>
<sign>30916165706580013</sign>
<reqtype>NOA</reqtype>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>Authorized</responseMessage>
<uppTransactionId>171122174522843130</uppTransactionId>
<authorizationCode>522863131</authorizationCode>
<acqAuthorizationCode>174522</acqAuthorizationCode>
<bankibanConverted>DE85123456781234512345</bankibanConverted>
<elvMandateID>ABCDEF12345</elvMandateID>
</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="1000011011">
<transaction refno="999273">
<request>
<amount>1000</amount>
<currency>CHF</currency>
<uppTransactionId>171122174522843130</uppTransactionId>
</request>
</transaction>
</body>
</paymentService>
Response
<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
<body merchantId='1000011011' status='accepted'>
<transaction refno='999273' trxStatus='response'>
<request>
<amount>1000</amount>
<currency>CHF</currency>
<uppTransactionId>171122174522843130</uppTransactionId>
<reqtype>COA</reqtype>
<transtype>05</transtype>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>settlement succeeded</responseMessage>
</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="1000011011">
<transaction refno="29023">
<request>
<amount>200</amount>
<currency>CHF</currency>
<uppTransactionId>170915085159059305</uppTransactionId>
<reqtype>DOA</reqtype>
</request>
</transaction>
</body>
</paymentService>
Response
<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
<body merchantId='1000011011' status='accepted'>
<transaction refno='29023' trxStatus='response'>
<request>
<amount>200</amount>
<currency>CHF</currency>
<uppTransactionId>170915085159059305</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" ?>
<statusService version="5">
<body merchantId="1000011011">
<transaction>
<request>
<uppTransactionId>171122174522843130</uppTransactionId>
<reqtype>STX</reqtype>
</request>
</transaction>
</body>
</statusService>
Response
<?xml version='1.0' encoding='UTF-8'?>
<statusService version='5'>
<body merchantId='1000011011' status='accepted'>
<transaction trxStatus='response'>
<request>
<uppTransactionId>171122174522843130</uppTransactionId>
<reqtype>STX</reqtype>
</request>
<response itemNr='1'>
<responseCode>6</responseCode>
<responseMessage>DOA Cancel</responseMessage>
<refno>999273</refno>
<amount>1000</amount>
<currency>CHF</currency>
<authorizationCode>522863131</authorizationCode>
<pmethod>ELV</pmethod>
<uppTransactionId>171122174522843130</uppTransactionId>
<maskedCC>xxxxx12345-12345678</maskedCC>
<aliasCC></aliasCC>
<expm></expm>
<expy></expy>
<trxDate>20171122</trxDate>
<trxTime>174522</trxTime>
<trtype>05</trtype>
<settledAmount>1000</settledAmount>
</response>
</transaction>
</body>
</statusService>
Credit Check
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" ?>
<authorizationService version="6">
<body merchantId="1000011011">
<transaction refno="211331">
<request>
<amount>1000</amount>
<currency>CHF</currency>
<pmethod>ELV</pmethod>
<bankiban>DE85123456781234512345</bankiban>
<uppCustomerDetails>
<uppCustomerFirstName>Good</uppCustomerFirstName>
<uppCustomerLastName>Customer</uppCustomerLastName>
<uppCustomerStreet>via streccione 2</uppCustomerStreet>
<uppCustomerCity>Lugano</uppCustomerCity>
<uppCustomerZipCode>6900</uppCustomerZipCode>
<uppCustomerCountry>ITA</uppCustomerCountry>
</uppCustomerDetails>
<sign>30916165706580013</sign>
</request>
</transaction>
</body>
</authorizationService>
EOF
Response
<authorizationService version="6">
<body merchantId="1000011011" status="accepted">
<transaction refno="211331" trxStatus="response">
<request>
<amount>1000</amount>
<currency>CHF</currency>
<pmethod>ELV</pmethod>
<bankiban>DE85123456781234512345</bankiban>
<uppCustomerDetails>
<uppCustomerFirstName>Good</uppCustomerFirstName>
<uppCustomerLastName>Customer</uppCustomerLastName>
<uppCustomerStreet>via streccione 2</uppCustomerStreet>
<uppCustomerCity>Lugano</uppCustomerCity>
<uppCustomerZipCode>6900</uppCustomerZipCode>
<uppCustomerCountry>ITA</uppCustomerCountry>
</uppCustomerDetails>
<sign>30916165706580013</sign>
<reqtype>NOA</reqtype>
</request>
<response>
<responseCode>01</responseCode>
<responseMessage>Authorized</responseMessage>
<uppTransactionId>180816171124908583</uppTransactionId>
<authorizationCode>124928584</authorizationCode>
<acqAuthorizationCode>171124</acqAuthorizationCode>
<bankibanConverted>DE85123456781234512345</bankibanConverted>
<elvMandateID>ABCDEF12345</elvMandateID>
</response>
</transaction>
</body>
</authorizationService>
Updated over 2 years ago