Initiate payment

The endpoint {{redstone-api}}/v1/payment/init is a POST request that initiates a payment. The request body should be in raw format and include the following parameters:

POST /v1/payment/init

Headers

Name
Type
Description

secret-key

string

Your Redstone secret key

public-key

String

Your Redstone public key

Request body

  • currency (string): The currency for the payment.

  • country (string): The country for the payment.

  • narration (string): Description or reason for the payment.

  • method (string): The payment method to be used.

  • amount (number): The amount of the payment.

  • webhook_url (string): A URL where notifications about the payment status will be sent.

  • redirect_url (sting):

  • email (string): The email address of the customer.

  • customer_first_name (string): The first name of the customer.

  • customer_last_name (string): The last name of the customer.

  • phone_number (string): The phone number of the customer.

Request

For example, you can make a post request to the endpoint above and pass in the raw json data below to create a one-off transaction.

{
    "currency": "ZMW",
    "country": "ZM",
    "narration": "payment for rice",
    "method": "mobilemoney", //"card"
    "amount": 1.3,
    "webhook_url: "",
    "redirect_url": "",
    "email": "",
    "customer_first_name": "",
    "customer_last_name": "",
    "phone_number": ""
}

Response

{
    "status": "success",
    "code": 200,
    "message": "success",
    "data": {
        "payment_link": "",
        "reference": "",
        "payment_id": "",
        "status": "pending"
    }
}

Last updated