Making a test payment: Difference between revisions

From Barion Documentation
Jump to navigation Jump to search
No edit summary
m (added curl snippet)
Line 54: Line 54:
     ]
     ]
}</syntaxhighlight>
}</syntaxhighlight>
<blockquote>
Here's the cURL version, if that's more convenient:
<syntaxhighlight>
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
                }
            ]
        }
    ]
}'
</syntaxhighlight>
</blockquote>
For details on the various parameters you’re passing in the call, see [[Payment-Start-v2|the <code>Payment/Start</code> API endpoint reference]].
For details on the various parameters you’re passing in the call, see [[Payment-Start-v2|the <code>Payment/Start</code> API endpoint reference]].
<blockquote>
<blockquote>

Revision as of 14:17, 7 August 2024

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

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