Paysafecard

Paysafecard

Paysafecard is a payment method for mainly online shopping. When using my paysafecard during the payment process in an online shop, there is no need to enter the PIN again, only a username and password are required.

When paying with a paysafecard, the consumer enters the 16-digit number and the amount tendered is deducted from the paysafecard balance. Combining PINs allows consumers to use up any remaining credit on a paysafecard PIN. The current balance of each paysafecard as well as its transaction history and production date can be viewed at the official paysafecard site by entering the respective 16 PIN code.

Payments for goods or services other than Euros are converted into Euros at the conversion rate at the time of purchase.

Commands

Pre Transaction Commands

The first step is to generate a unique order number with the command CREATEORDER.

Transaction Commands

INITIATEPAYMENT

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

INITTYPE

DEPOSITAMOUNT

PAYMENTTYPE

ORDERREFERENCE

AMOUNT

CUSTOMERSTATEMENT

CURRENCY

CONFIRMURL

ORDERNUMBER

APPLICATIONTYPE

ORDERDESCRIPTION

PAYMENTNUMBER

SUCCESSURL

ORIGINATOR

FAILUREURL

CONSUMER_MERCHANT_CRM_ID

Optional request parameters CUSTOMERSTATEMENT and ORDERREFERENCE, are more restricted about their length and allowed characters than usual.

Paysafecard payment method can be initialized if the merchant sends PAYSAFECARD for parameter INITTYPE, and PAYSAFECARD for PAYMENTTYPE.

Responses

201 Successful initialization.

Required Parameters Optional Parameters

status

header

version

body

errorCode

message

paySysMessage

originator

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

COMMAND=INITIATEPAYMENT&
MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
INITTYPE=PAYSAFECARD&
PAYMENTTYPE=PAYSAFECARD&
ORDERNUMBER=6036867&
LANGUAGE=en&
AMOUNT=1&
CURRENCY=EUR&
APPLICATIONTYPE=S&
SERVICEURL=http://yourimprint.com/&
CUSTOMERSTATEMENT=eh3462t3hg346&
SUCCESSURL=https://yoursuccessurl.com&
ORDERDESCRIPTION=Test&
FAILUREURL=https://yourfailureurl.com&
CONSUMER_MERCHANT_CRM_ID=13423072&
DEPOSITAMOUNT=0

Response samples

header=Content-Type%3A+text%2Fhtml%0D%0A&
body=%3Chtml%3E%3Chead%3E%3Ctitle%3Epaysafecard+redirect%3C%2Ftitle%3E%3C%2Fhead%3E%3Cbody%3E%0D%0A%3Cform+name%3D%22paysafecardForm%22+action%3D%22https%3A%2F%2Fcustomer.test.at.paysafecard.com%2Fpsccustomer%2FGetCustomerPanelServlet%3Fcurrency%3DEUR%26mtid%3D2p1000000840-10006691355787469%26amount%3D1.00%26mid%3D1160000872%26locale%3Dnull%22+method%3D%22post%22%3E%0D%0A%0D%0A%3C%2Fform%3E%0D%0A%3Cscript+type%3D%22text%2Fjavascript%22%3E%0D%0A%3C%21--%0D%0Adocument.paysafecardForm.submit%28%29%3B%0D%0A%2F%2F--%3E%0D%0A%3C%2Fscript%3E%3C%2Fbody%3E%3C%2Fhtml%3E&
version=qtillserver+3.23.0.48&
status=0
  1. Decode the text with URL Decoder. Use Notepad ++ or some other URL Decoder. After decoding the response should look like this.

    header=Content-Type: text/html
    &body=<html><head><title>paysafecard redirect</title></head><body>
    <form name="paysafecardForm" action="https://customer.test.at.paysafecard.com/psccustomer/GetCustomerPanelServlet?currency=EUR&mtid=2p8000000840-10002709106578534&amount=1.00&mid=1160000872&locale=null" method="post">
    </form>
    <script type="text/javascript">
    <!--
    document.paysafecardForm.submit();
    //-->
    </script></body></html>&version=qtillserver 3.23.0.47&status=0
  2. Beautify code (delete everything above and below html tag and uncomment function, and replace every "+" with empty space).

    <html>
        <head>
            <title>paysafecard redirect
            </title>
        </head>
         <body>
            <form name="paysafecardForm" action="https://customer.test.at.paysafecard.com/psccustomer/GetCustomerPanelServlet?currency=EUR&mtid=2p8000000840-10002709106578534&amount=1.00&mid=1160000872&locale=null" method="post">
    
            </form>
            <script type="text/javascript">
    
                document.paysafecardForm.submit();
    
            </script>
        </body>
    </html>
  3. Execute the HTML, and the Paysafecard mask should be seen in a browser. Enter specific test data for Paysafecard payment method. After that, the merchant will be redirected to the successUrl (which is invalid in this example).

VERIFYPAYMENT

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

PAYMENTNUMBER

QTILL_CLIENT_IP_ADDRESS

ORIGINATOR

Responses

201 Successful verification.

Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
COMMAND=VERIFYPAYMENT&
APPLICATIONTYPE=S&
ORDERNUMBER=6036867&
LANGUAGE=en

Response samples

order.1.amount=1.00&
payment.1.1.paymentNumber=6036867&
payment.1.1.depositAmount=0.00&
order.1.orderText=Test&
order.1.contractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
payment.1.1.timeModified=31.10.2022+10%3A13%3A25&
payment.1.1.operationsAllowed=DEPOSIT%2CAPPROVEREVERSAL&
payment.1.1.paymentType=PAYSAFECARD&
order.1.merchantNumber=840&
payment.1.1.state=payment_approved&
order.1.depositAmount=0&
order.1.customerStatement=eh3462t3hg346&
order.1.providerContractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
order.1.timeModified=31.10.2022+10%3A10%3A32&
payment.1.1.providerReferenceNumber=2p7000000840-10006036867207431&
order.1.orderNumber=6036867&
payment.1.1.gatewayReferenceNumber=6036867&
payment.1.1.orderNumber=6036867&
payment.1.1.approveAmount=1.00&
order.1.approveAmount=1.00&
order.1.credits=0&
payment.1.1.merchantNumber=840&
order.1.payments=1&
order.1.currency=EUR&
version=qtillserver+3.23.0.48&
order.1.refundAmount=0&
payment.1.1.currency=EUR&
order.1.timeCreated=31.10.2022+10%3A10%3A31&
order.1.state=ORDERED&
order.1.orderDescription=Test&
orders=1&
payment.1.1.timeCreated=31.10.2022+10%3A13%3A25&
order.1.acquirer=Paysafecard&
order.1.paymentType=PAYSAFECARD&
order.1.brand=paysafecard&
status=0

Post Transaction Commands

GETORDERDETAILS

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

ADMIN_PASSWORD

ORIGINATOR

Responses

201 Successful getting order details.

Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
COMMAND=GETORDERDETAILS&
ORDERNUMBER=6036867&
ADMIN_PASSWORD=9p3a0m5f&
APPLICATIONTYPE=S&

Response samples

order.1.amount=1.00&
payment.1.1.paymentNumber=6036867&
payment.1.1.depositAmount=1.00&
order.1.orderText=Test&
order.1.contractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
payment.1.1.timeModified=31.10.2022+10%3A15%3A00&
payment.1.1.paymentType=PAYSAFECARD&
order.1.merchantNumber=840&
payment.1.1.state=payment_deposited&
order.1.depositAmount=1.00&
order.1.customerStatement=eh3462t3hg346&
order.1.providerContractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
order.1.orderNumber=6036867&
order.1.timeModified=31.10.2022+10%3A10%3A32&
payment.1.1.providerReferenceNumber=2p7000000840-10006036867207431&
payment.1.1.gatewayReferenceNumber=6036867&
payment.1.1.orderNumber=6036867&
objectsTotal=1&
payment.1.1.approveAmount=1.00&
order.1.approveAmount=0&
order.1.credits=0&
payment.1.1.merchantNumber=840&
order.1.payments=1&
order.1.currency=EUR&
version=qtillserver+3.23.0.48&
order.1.state=ORDERED&
order.1.timeCreated=31.10.2022+10%3A10%3A31&
payment.1.1.currency=EUR&
order.1.refundAmount=0&
order.1.orderDescription=Test&
orders=1&
payment.1.1.timeCreated=31.10.2022+10%3A13%3A25&
order.1.paymentType=PAYSAFECARD&
order.1.brand=paysafecard&
order.1.acquirer=Paysafecard&
payment.1.1.batchNumber=300000592&
status=0

DEPOSIT

The transaction is automatically deposited for Paysafecard and all payment methods that are part of Paysafecard.

The transaction can be deposited:

  • By using the command DEPOSIT.

This is only possible if the transaction is not deposited in any other way. By default, a Paysafe-Transaction is deposited automatically.

Authorizations: Basic Auth

Request

Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

CURRENCY

PAYMENTNUMBER

CUSTOMERSTATEMENT

AMOUNT

MERCHANTREFERENCE

APPLICATIONTYPE

ORIGINATOR

Responses

201 Successful deposit.

Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

400 Validating the request data failed

Parameters

errorCode

message

paySysMessage

POST / https://api.qenta.com/enterprise

Request samples

MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
COMMAND=DEPOSIT&
ORDERNUMBER=6036867&
PAYMENTNUMBER=6036867&
AMOUNT=1.00&
CURRENCY=EUR&
LANGUAGE=en&
APPLICATIONTYPE=S

Response samples

version=qtillserver+3.23.0.48&
paymentNumber=6036867&
status=0

Query Commands

For every payment method commands QUERYORDERS, QUERYCREDITS, and QUERYBATCHES are used.

Order Flow Diagram

Image

To interpret this diagram, the successful completion of a NEW PAYMENT is assumed. Starting from this operation it’s possible to carry out different commands.

All possible commands for specific acquirers are found here.