Initialize Transaction

The Transactions API allows you create and manage collections.

Initialize Transaction

To initialize a transaction, you'll need to pass information such as email, amount, transaction reference and local currency, email and amount required.

Payment Details

FieldData typeRequiredDescription
amountintegerYesThe amount merchant offers their service.
emailstringYesCustomer email address
referencestringNoUnique transaction reference as generated by the merchant
localCurrencystringNoThe currency in which the customer should be charged. The ISO 4217 currency code

Initiate Payment

After collecting the necessary payment details for the transaction. Make a POST request to our initialize endpoint.

Note : Before making a post request, the secret key should be specified in the header.

-H "x-api-key: your_secret_key".

If the API call is successful, Kyshi returns the following response:

"status": true,
"code": 201,
"message": "Success",
"data": {
    "authorizationUrl": "",
    "accessCode": "",
    "reference": "KYSHI-1292018922",
    "rate": 10.1

Receive and validate webhook notification

Listen for webhook events. We will send a notification to your webhook URL that indicates the status of the collection. Read our guide on securing and validating the webhook notification on your end.

Note: We will only send you a webhook when the transaction is successful

  event: "successful", 
  data: {
    reference: "6df5910e1bdde31abf",
    amount: 500.42,
    customer: { id: "", firstName: "John", email: "[email protected]", phone: null },
    authorization: { authorizationCode: "my_reference", cardType: "", brand: "Visa", last4: "", bin: "", expMonth: "", expYear: "" },
    log: {