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
Basic Auth
Request
Required Parameters | Optional Parameters |
---|---|
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
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
-
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
-
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>
-
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
Basic Auth
Request
Required Parameters | Optional Parameters |
---|---|
Responses
201 Successful verification.
Required Parameters
Optional Parameters
Order as a basis type of properties in the response can be returned for this command.
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
Basic Auth
Request
Required Parameters | Optional Parameters |
---|---|
Responses
201 Successful getting order details.
Required Parameters
Optional Parameters
Order as a basis type of properties in the response can be returned for this command.
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. |
Basic Auth
Request
Required Parameters | Optional Parameters |
---|---|
Responses
201 Successful deposit.
Required Parameters
Optional Parameters
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
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.
For an explanation of the different status descriptions included in this diagram have a look at payment.<n>.<m>.state and order.<n>.state which are response parameters of command GETORDERDETAILS.
|
For an explanation of the different status descriptions included in this diagram have a look at payment.<n>.<m>.state and order.<n>.state which are response parameters of command GETORDERDETAILS.
|
All possible commands for specific acquirers are found here.