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

Powerpay

120

paymentmethod=MFX

Payment ProcessIntegration
Authorization:heavy-check-mark:Payment Page:heavy-check-mark:
Deferred Settlement:heavy-check-mark:Split Mode:heavy-check-mark:
Refund:heavy-check-mark:Mobile SDK:heavy-check-mark:
Cancel:heavy-check-mark:
Alias:heavy-check-mark:

Description

Payment Method provider website :link:

📘

Request and response parameter reference

For a more detailed description of the request and response parameters for Powerpay
please check the API Reference

Web payment flow

 1 
[Not supported by viewer]
Customer clicks Pay
Customer clicks Pay
Merchant Website
Merchant Website
Merchant Server
Merchant Server
Redirects to Powerpay
Redirects to Powerpay
Powerpay
Powerpay<br>
Checks data received
[Not supported by viewer]
 2 
[Not supported by viewer]
 4 
[Not supported by viewer]
Validates client and authorizes
Validates client and authorizes
 5 
[Not supported by viewer]
Receives Result 
Receives Result 
5.1
[Not supported by viewer]
 6 
[Not supported by viewer]
Invokes merchant's
POST URL (Webhook)
Invokes merchant's<br>POST URL (Webhook)
Receives Result 
Receives Result 
 7 
[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
 3 
[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 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="1000011011" testOnly="no">
  <transaction refno="700912">
   <request>
    <amount>5</amount>
    <currency>CHF</currency>    
    <pmethod>MFX</pmethod>
    <reqtype>NOA</reqtype>
    <transtype>05</transtype>
    <sign>30916165706580013</sign>
    <uppCustomerDetails>
    	<uppCustomerGender>male</uppCustomerGender>
    	<uppCustomerEmail>[email protected]</uppCustomerEmail>
    	<uppCustomerFirstName>Good</uppCustomerFirstName>
    	<uppCustomerLastName>Customer</uppCustomerLastName>
    	<uppCustomerStreet>via streccione 2</uppCustomerStreet>
    	<uppCustomerCity>Lugano</uppCustomerCity>
    	<uppCustomerZipCode>6900</uppCustomerZipCode>
    	<uppCustomerBirthDate>1.1.1980</uppCustomerBirthDate>
    	<uppCustomerLanguage>it</uppCustomerLanguage>
    </uppCustomerDetails>
   </request>
  </transaction>
 </body>
</authorizationService>
EOF

Response

<?xml version='1.0' encoding='UTF-8'?>
<authorizationService version='6'>
    <body merchantId='1000011011' testOnly='yes' status='accepted'>
        <transaction refno='700912' trxStatus='response'>
            <request>
                <amount>5</amount>
                <currency>CHF</currency>                
                <pmethod>MFX</pmethod>
                <reqtype>NOA</reqtype>
                <transtype>05</transtype>
                <sign>30916165706580013</sign>
                <uppCustomerDetails>
                    <uppCustomerGender>male</uppCustomerGender>
                    <uppCustomerEmail>[email protected]</uppCustomerEmail>
                    <uppCustomerFirstName>Good</uppCustomerFirstName>
                    <uppCustomerLastName>Customer</uppCustomerLastName>
                    <uppCustomerStreet>via streccione 2</uppCustomerStreet>
                    <uppCustomerCity>Lugano</uppCustomerCity>
                    <uppCustomerZipCode>6900</uppCustomerZipCode>
                    <uppCustomerBirthDate>1.1.1980</uppCustomerBirthDate>
                    <uppCustomerLanguage>it</uppCustomerLanguage>
                </uppCustomerDetails>
                <cardno/>
            </request>
            <response>
                <responseCode>01</responseCode>
                <responseMessage>successful</responseMessage>
                <uppTransactionId>180917154651525573</uppTransactionId>
                <authorizationCode>651545574</authorizationCode>
                <acqAuthorizationCode>149506</acqAuthorizationCode>
                <mfaReference>6786554762</mfaReference>
                <mfgBalance>122353</mfgBalance>
                <mfgResponseCode>00</mfgResponseCode>
                <mfgResponseDate>20180917154653</mfgResponseDate>
                <mfgExpirationDate>20250531</mfgExpirationDate>
            </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="705824">
      <request>
        <amount>5</amount>
        <currency>CHF</currency>
        <uppTransactionId>180917154651525573</uppTransactionId>
      </request>
    </transaction>
  </body>
</paymentService>
EOF

Response

<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
    <body merchantId='1000011011' status='accepted'>
        <transaction refno='705824' trxStatus='response'>
            <request>
                <amount>5</amount>
                <currency>CHF</currency>
                <uppTransactionId>180917154651525573</uppTransactionId>
                <reqtype>COA</reqtype>
                <transtype>05</transtype>
            </request>
            <response>
                <responseCode>01</responseCode>
                <responseMessage>settlement succeeded</responseMessage>
            </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="1000011011">
    <transaction refno="700912">
      <request>
        <amount>5</amount>
        <currency>CHF</currency>
        <uppTransactionId>180917154651525573</uppTransactionId>
         <transtype>06</transtype>
      </request>
    </transaction>
  </body>
</paymentService>
EOF

Response

<?xml version='1.0' encoding='UTF-8'?>
<paymentService version='2'>
    <body merchantId='1100016230' status='accepted'>
        <transaction refno='1234987abc' trxStatus='response'>
            <request>
                <amount>5</amount>
                <currency>CHF</currency>
                <uppTransactionId>180917154651525573</uppTransactionId>
                <transtype>06</transtype>
                <reqtype>COA</reqtype>
            </request>
            <response>
                <responseCode>01</responseCode>
                <responseMessage>credit succeeded</responseMessage>
                <uppTransactionId>180917154651525573</uppTransactionId>
                <authorizationCode>430939749</authorizationCode>
                <acqAuthorizationCode>092430</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="1000011011">
    <transaction refno="749532">
      <request>
        <amount>5</amount>
        <currency>CHF</currency>
        <uppTransactionId>180917154651525573</uppTransactionId>
        <reqtype>DOA</reqtype>
      </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>5</amount>
                <currency>CHF</currency>
                <uppTransactionId>180917154651525573</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>180917154651525573</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>180917154651525573</uppTransactionId>
                <reqtype>STX</reqtype>
            </request>
            <response itemNr='1'>
                <responseCode>6</responseCode>
                <responseMessage>DOA Cancel</responseMessage>
                <refno>705824</refno>
                <amount>5</amount>
                <currency>CHF</currency>
                <authorizationCode>651545574</authorizationCode>
                <pmethod>MFX</pmethod>
                <uppTransactionId>180917154651525573</uppTransactionId>
                <maskedCC>600451xxxxxxxxx0300</maskedCC>
                <aliasCC></aliasCC>
                <expm></expm>
                <expy></expy>
                <trxDate>20180917</trxDate>
                <trxTime>154651</trxTime>
                <trtype>05</trtype>
                <settledAmount>5</settledAmount>
            </response>
        </transaction>
    </body>
</statusService>