Making a test payment: Difference between revisions

From Barion Documentation
Jump to navigation Jump to search
No edit summary
(added note about HTTP methods)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{PageTitle|title=Making a test payment}}
{| style="margin-left:2em;" align="right"
| __TOC__
|}
Get a feel for how Barion works by using the Barion Gateway API to
Get a feel for how Barion works by using the Barion Gateway API to


Line 16: 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.
<syntaxhighlight lang="json">{
<syntaxhighlight lang="json">
{
     "POSKey": "[the POSKey you've just copied]",
     "POSKey": "[the POSKey you've just copied]",
     "PaymentType": "Immediate",
     "PaymentType": "Immediate",
Line 33: Line 40:
             "POSTransactionId": "DEV-TEST-01-01",
             "POSTransactionId": "DEV-TEST-01-01",
             "Payee": "[the email address associated with the Barion shop]",
             "Payee": "[the email address associated with the Barion shop]",
             "Total&quot;: 100,
             "Total": 100,
             "Comment": "Test transaction",
             "Comment": "Test transaction",
             "Items": [
             "Items": [
Line 49: Line 56:
     ]
     ]
}</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>
Step result:  The API request returns the following JSON:  <br />
Step result:  The API request returns the following JSON:  <br />
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
    {
{
      "PaymentId": [the payment ID generated for the transaction],
    "PaymentId": "ee849878c554ef118c0c001dd8b71cc5",
      "PaymentRequestId": "DEV-TEST-187",
    "PaymentRequestId": "DEV-TEST-615",
      "Status": "Prepared",
    "Status": "Prepared",
      "QRUrl": "https://api.test.barion.com/qr/generate?paymentId=[the payment ID generated for the transaction]",
    "QRUrl": "https://api.test.barion.com/qr/generate?paymentId=ee849878-c554-ef11-8c0c-001dd8b71cc5&size=Large",
      "Transactions": [
    "Transactions": [
         {
         {
          "POSTransactionId": "DEV-TEST-01-01",
            "POSTransactionId": "DEV-TEST-01-01",
          "TransactionId": "[the payment ID generated for the transaction]",
            "TransactionId": "ef849878c554ef118c0c001dd8b71cc5",
          "Status": "Prepared",
            "Status": "Prepared",
          "Currency": "EUR",
            "Currency": "EUR",
          "TransactionTime": "0001-01-01T00:00:00",
            "TransactionTime": "0001-01-01T00:00:00",
          "RelatedId": null
            "RelatedId": null
         }
         }
      ],  
    ],
      "RecurrenceResult": "None",  
    "RecurrenceResult": "None",
      "ThreeDSAuthClientData": null,  
    "ThreeDSAuthClientData": null,
      "GatewayUrl": "https://secure.test.barion.com/Pay?Id=2[the payment ID generated for the transaction]",  
    "GatewayUrl": "https://secure.test.barion.com/Pay?Id=ee849878c554ef118c0c001dd8b71cc5",
      "RedirectUrl": "http://barion.com/?paymentId=[the payment ID generated for the transaction]",
    "RedirectUrl": "https://example.com/?paymentId=ee849878c554ef118c0c001dd8b71cc5",
      "CallbackUrl": "",
    "CallbackUrl": "",
      "TraceId": null,  
    "TraceId": null,
      "Errors": []  
    "Errors": []
  }</syntaxhighlight>
}
</syntaxhighlight>
</blockquote>
</blockquote>



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

  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