Making a test payment: Difference between revisions
m (added curl snippet) |
(added note about HTTP methods) |
||
Line 20: | Line 20: | ||
''Finding your shop’s POSKey'' | ''Finding your shop’s POSKey'' | ||
{{NotificationBox|title=NOTE|text=All Barion API endpoints accept standard HTTP1.1 GET or POST method requests, but always one or the other only. Calling an endpoint with the incorrect HTTP method returns a JSON error message.|color=#1798DB}} | |||
3. Start the Postman Desktop agent, and make a POST call to <code>https://api.test.barion.com/v2/payment/start</code>, passing the following JSON in the request body: Replace the <code>POSKey</code> and the <code>Transactions</code>/<code>Payee</code> as indicated. | 3. Start the Postman Desktop agent, and make a POST call to <code>https://api.test.barion.com/v2/payment/start</code>, passing the following JSON in the request body: Replace the <code>POSKey</code> and the <code>Transactions</code>/<code>Payee</code> as indicated. |
Latest revision as of 09:32, 8 August 2024
Making a test payment
Get a feel for how Barion works by using the Barion Gateway API to
- set up a payment for the Barion shop you’ve created, and
- settle the payment with some test money from your Barion Wallet.
Prerequisites
- Completing the first part of this tutorial.
- An API testing tool such as Postman
Make a test payment using the Barion API
1. Log in to to your Barion shop.
2. Click through to Shops>Actions>Details>Secret Key (POSKey), and copy the value to the clipboard.
Finding your shop’s POSKey
3. Start the Postman Desktop agent, and make a POST call to https://api.test.barion.com/v2/payment/start
, passing the following JSON in the request body: Replace the POSKey
and the Transactions
/Payee
as indicated.
{
"POSKey": "[the POSKey you've just copied]",
"PaymentType": "Immediate",
"PaymentRequestId": "DEV-TEST-615",
"FundingSources": ["All"],
"OrderNumber": "Order_01",
"RedirectUrl": "https://example.com/",
"Currency": "EUR",
"Locale":"en-US",
"GuestCheckOut": true,
"PaymentWindow":"00:30:00",
"Transactions": [
{
"POSTransactionId": "DEV-TEST-01-01",
"Payee": "[the email address associated with the Barion shop]",
"Total": 100,
"Comment": "Test transaction",
"Items": [
{
"Name": "Nada",
"Description": "Zilch",
"Quantity": 1,
"Unit": "db",
"UnitPrice": 1,
"ItemTotal": 1,
"SKU": "SM-01"
}
]
}
]
}
Here's the cURL version, if that's more convenient:
curl --location 'https://api.test.barion.com/v2/payment/start' \ --header 'Content-Type: application/json' \ --data-raw '{ "POSKey": "5c224ce1-0f2c-4a7a-9ae7-d7c2b481cb71", "PaymentType": "Immediate", "PaymentRequestId": "DEV-TEST-615", "FundingSources": [ "All" ], "RedirectUrl": "https://example.com/", "Currency": "EUR", "Locale": "en-US", "GuestCheckOut": true, "Transactions": [ { "POSTransactionId": "DEV-TEST-01-01", "Payee": "[email protected]", "Total": 100, "Items": [ { "Name": "Nada", "Description": "Zilch", "Quantity": 1, "Unit": "db", "UnitPrice": 1, "ItemTotal": 1 } ] } ] }'
For details on the various parameters you’re passing in the call, see the Payment/Start
API endpoint reference.
Step result: The API request returns the following JSON:
{ "PaymentId": "ee849878c554ef118c0c001dd8b71cc5", "PaymentRequestId": "DEV-TEST-615", "Status": "Prepared", "QRUrl": "https://api.test.barion.com/qr/generate?paymentId=ee849878-c554-ef11-8c0c-001dd8b71cc5&size=Large", "Transactions": [ { "POSTransactionId": "DEV-TEST-01-01", "TransactionId": "ef849878c554ef118c0c001dd8b71cc5", "Status": "Prepared", "Currency": "EUR", "TransactionTime": "0001-01-01T00:00:00", "RelatedId": null } ], "RecurrenceResult": "None", "ThreeDSAuthClientData": null, "GatewayUrl": "https://secure.test.barion.com/Pay?Id=ee849878c554ef118c0c001dd8b71cc5", "RedirectUrl": "https://example.com/?paymentId=ee849878c554ef118c0c001dd8b71cc5", "CallbackUrl": "", "TraceId": null, "Errors": [] }
Pay through the Barion Smart Gateway:
Go to the URL in the POST call’s GatewayURL
return value, and complete the purchase using the following test card details:
- Card number: 4444 8888 8888 5559
- Expiration date: any future date
- CVC: any 3-digit number