Payment Link API

Collect payments from your customers using payment link.

Summary

The Payment Link API allows merchants to generate payment links for their sub-merchants to easily collect payments. Follow these steps to integrate:

  1. Generate a Bearer Token

  2. Create a Payment Link

  3. Share the Payment Link

  4. Monitor Payment Status

Before you begin!

  • Link to the postman collection.

  • Find your keys on the Klasha Dashboard → Settings → Generate API Keys (here)

Integration steps

Generate a Bearer Token

Obtain a token by sending a POST request to the Token endpoint. Use this token for authentication in subsequent API calls.

POST {{env_url}}/auth/account/v2/login

Request Body

NameTypeDescription

username*

username

password*

password

{
    "message": "success",
    "error": null,
    "data": {
        "token": "This is your token"
    }
}

Make a POST request to the Payment Link API, including necessary headers like Authorization (Bearer token) and x-auth-token (Merchant public key). The request body should contain details such as sub-merchant ID, description, currency, and amount.

POST {{env_url}}/merchant/api/v1/paylink/create

Make a POST call to the Payment link to generate a payment link. See an example of the plain json payload to send.

No need for an encryption of the plain json payload.

You’d need to pass, as header the x-auth-token. This can be obtained from your merchant dashboard → Settings → Generate API keys → Merchant public key.

Headers

NameValue

Authorization

Bearer {{token}}

x-auth-token

MERCHANT PUBLIC KEY

Request Body

NameTypeDescription

name*

String

Sub-Merchant Name

subMerchantId*

String

Sub-Merchant Identification

description*

String

Intending product or service.

currency*

String

NGN

amount*

Decimal

Amount to accept for the product or service.

{
    "name": "Klash",
    "subMerchantId": "sub-klasha-23456",
    "description": "Payment for 1000 naira purchase",
    "currency": "NGN",
    "amount": 1000
}

See sample of the paylinkUrl page below.

Monitor Payment Status

Klasha sends payment status updates to your configured webhook URL. Monitor this to track payment outcomes.

{
    "data": {
        "createdAt": "2024-08-21T12:03:46.728",
        "subMerchantId": "sub-merchant_12",
        "paylinkId": "8406d382-8443-4c65-aaf2-6dc3721c85b4",
        "narration": "Business wallet popup payment",
        "destinationCurrency": "NGN",
        "sourceAmount": 1500.00,
        "sourceCurrency": "NGN",
        "tnxRef": "paylink-f66b115c-4733-4b2c-88f9-085517c1dba7",
        "status": "successful",
        "destinationAmount": 1500.0,
        "customer": {
            "id": 13,
            "name": "Steph Oj",
            "email": "stephen@klasha.com",
            "phone": null,
            "createdAt": "2021-07-20T10:28:43.820",
            "updatedAt": "2021-07-20T10:28:43.820"
        }
    },
    "event": "charge.completed"
}

Last updated