Guides
These docs are for v1.0.1. Click to read the latest docs for v2.1.0.

Migros Bank E-Pay

120

paymentmethod=MDP

Payment ProcessIntegration
Authorization✔️Payment Page✔️
Deferred Settlement✔️Split Mode✔️
Refund✔️Mobile SDK
Cancel
Alias✔️

Description

Shopping online is easy and pleasant. Migros Bank will handle collection for you. E-Pay enables your customers to pay for their online shopping directly from their Migros Bank accounts. To do this, they enter their E-Pay IDs in your online shop and confirm the transfer of funds using e-banking or the Mobile Banking App – and that's all there is to it. The money is credited within a matter of seconds. There is no credit risk.
Payment Method provider website 🔗

📘

Request and response parameter reference

For a more detailed description of the request and response parameters for Migros Bank E-Pay
please check the API Reference

Test

Use epaysuccess1 as the E-Pay ID.

Web payment flow

 1 
[Not supported by viewer]
Customer clicks Pay
Customer clicks Pay
Merchant Website
Merchant Website
Merchant Server
Merchant Server
Payment Page loaded from Datatrans
Payment Page loaded from Datatrans
Migros Bank
Migros Bank
 3 
[Not supported by viewer]
Customer enters MDP user-id
[Not supported by viewer]
 2 
[Not supported by viewer]
 4 
[Not supported by viewer]
Redirects to Migros Bank
Redirects to Migros Bank
 5 
[Not supported by viewer]
Validates and requests user authorization
Validates and requests user authorization
 7 
[Not supported by viewer]
Receives Result 
Receives Result 
7.1
[Not supported by viewer]
 8 
[Not supported by viewer]
Invokes merchant's
POST URL (Webhook)
Invokes merchant's<br>POST URL (Webhook)
Receives Result 
Receives Result 
 9 
[Not supported by viewer]
Redirects customer back to merchant
Redirects customer back to merchant
Customer gets redirected to merchant page
Customer gets redirected to merchant page
User Device
User Device
Confirmation
Confirmation
 6 
[Not supported by viewer]

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 further actions.

Authorization

An authorization with this payment method is only possible through the web interface.

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="749532">
      <request>
        <amount>100</amount>
        <currency>CHF</currency>
        <uppTransactionId>180903162200896737</uppTransactionId>
      </request>
    </transaction>
  </body>
</paymentService>
EOF

Response

<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
    <body merchantId='1000011011' status='accepted'>
        <transaction refno='749532' trxStatus='response'>
            <request>
                <amount>100</amount>
                <currency>CHF</currency>
                <uppTransactionId>180903162200896737</uppTransactionId>
                <reqtype>COA</reqtype>
                <transtype>05</transtype>
            </request>
            <response>
                <responseCode>01</responseCode>
                <responseMessage>settlement succeeded</responseMessage>
            </response>
        </transaction>
    </body>
</paymentService>

Cancel

Transactions cannot be canceled since the payment was done through direct debit.

Credit

The credit option is not available with this payment method.

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>180903162200896737</uppTransactionId>
        <reqtype>STX</reqtype>
      </request>
    </transaction>
  </body>
</statusService>
EOF

Response

<?xml version='1.0' encoding='UTF-8'?>
<statusService version='5'>
    <body merchantId='1000011011' status='accepted'>
        <transaction trxStatus='response'>
            <request>
                <uppTransactionId>180903162200896737</uppTransactionId>
                <reqtype>STX</reqtype>
            </request>
            <response itemNr='1'>
                <responseCode>21</responseCode>
                <responseMessage>Trx already settled</responseMessage>
                <refno>749532</refno>
                <amount>1000</amount>
                <currency>CHF</currency>
                <authorizationCode>224437579</authorizationCode>
                <pmethod>MDP</pmethod>
                <uppTransactionId>180903162200896737</uppTransactionId>
                <maskedCC></maskedCC>
                <aliasCC></aliasCC>
                <expm></expm>
                <expy></expy>
                <trxDate>20180903</trxDate>
                <trxTime>162200</trxTime>
                <trtype>05</trtype>
                <settledAmount>100</settledAmount>
            </response>
        </transaction>
    </body>
</statusService>