Making a test payment: Difference between revisions

From Barion Documentation
Jump to navigation Jump to search
(fixed typo in code sample. to-do: remove non-essential JSON keys)
No edit summary
Line 22: Line 22:


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 57: Line 58:
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-615",
    "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": "https://example.com/",
    "RedirectUrl": "https://example.com/?paymentId=ee849878c554ef118c0c001dd8b71cc5",
      "CallbackUrl": "",
    "CallbackUrl": "",
      "TraceId": null,  
    "TraceId": null,
      "Errors": []  
    "Errors": []
  }</syntaxhighlight>
}
</syntaxhighlight>
</blockquote>
</blockquote>



Revision as of 14:05, 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"
                }
            ]
        }
    ]
}

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