Making a test payment

From Barion Documentation
Revision as of 09:32, 8 August 2024 by [email protected] (talk | contribs) (added note about HTTP methods)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Making a test payment

Get a feel for how Barion works by using the Barion Gateway API to

  1. set up a payment for the Barion shop you’ve created, and
  2. settle the payment with some test money from your Barion Wallet.

Prerequisites

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

Finding your shop’s POSKey

NOTE
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.

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

Next steps