QorePay logo
QorePay logo

Direct Post

Introduction

Direct post integration allows running payments through the custom payment flow.

To accept payments in your applications or websites via QorePay, follow these steps:

Step 1: Initiate Purchase

The first step in accepting card payments is to call the /purchases endpoint below. The return object will include the direct_post_url parameter. This parameter will be used in the next step.

RequestURL

POST

https://gate.qorepay.com/api/v1/purchases/
  • Remember to specify the success_redirect and failure_redirect url in the request body.

JSON

 {
    brand_id: '409eb80e-3782-4b1d-afa8-b779759266a5'
    client: {
      email: '[email protected]', 
    },
    purchase: {
      currency: 'NGN',
      products: [
        {
          name: 'Dog food Max',
          quantity: 1, 
          price: 9000
        }
      ], 
    },  
    failure_redirect: 'http://brand.com/failed-payment',
    success_redirect:'http://brand.com/sucess-payment',
  }

Step 2: Charge Card

In order to charge the user, we'll need to create a form to accept the card details. The form should be on your website with the method="POST" and the form action pointing to the direct_post_url we got from the previous API call in step 1.

You will also need to fill the form with inputs for the fields with card details. These will be posted directly to our systems, allowing you to focus on customizing the checkout as you wish.

HTML


  <!DOCTYPE html>
  <html>
  <body>  

  
  <h2>Card Direct Post</h2>

  <form action="https://gate.qorepay.com/p/{{Insert direct_post_url}}/" method="POST">

    <label for="fname">Cardholder Name:</label><br>
    <input type="text" id="cardholder_name" name="cardholder_name" value="Input"><br><br>
    
    <label for="lname">Card number:</label><br>
    <input type="text" id="card_number" name="card_number" value="Input"><br><br>
    
    <label for="lname">Expires:</label><br>
    <input type="text" id="expires" name="expires" value="Input"><br><br>
    
    <label for="lname">CVC:</label><br>
    <input type="text" id="cvc" name="cvc" value="Input">
    
    <br><br>
    <button type="submit">submit </button>
  </form> 

  </body>
  </html>

Step 3: Verify Payment

To verify your payment status, do either of these things:

  1. Using success_callback Parameter:

    When initializing payment in step 1, add the success_callback parameter and a corresponding POST url. When Purchase is paid for successfully, the success_callback URL will receive a POST request with the Purchase object's data in body.

  2. Using GET /purchases/purchase_id request:

    This endpoint retrieves a payment object using the purchase_id returned in step 1. Use the status parameter to know the state of the payment.

  3. Using a webhook

    Setup a webhook on your account's developers section or a Webhook API to listen to purchase.paid, or   purchase.payment_failure event on your server.

ON THIS PAGE

Introduction

Initiate Purchase

Charge Card

Verify Payment