Request to pay (PUSH)

How to request payment from your customers with Vendy

Both offline and online transactions can be initiated on Vendy via the API or by integrating the checkout widget into your web application. Push a payment request to your customer via WhatsApp or USSD.

Using the API

Using the Checkout widget

Monitoring Transaction State

Get transaction to view the status and details of the transaction. Setup Webhooks to monitor the state of the transaction in real-time which are sent as events. Events are sent when transaction is updated - "transaction_updated", successful - "transaction_success", and fails - "transaction_failed" with the transaction details. A sample webhook response:

  "event.type": "transaction_success",
  "data": {
    "amount": 60,
    "requestamount": 60,
    "delivered": 1,
    "vended": 1,
    "failed": 0,
    "debited": 1,
    "processing": 0,
    "meta": {
      "fee": 0,
      "commission": 0,
      "charge_customer": false,
      "fee_structure": {
        "fee": 0,
        "percent": true,
        "threshold": {
          "max": 100,
          "min": 0
        "commission": 0,
        "charge_customer": true
      "total": 60,
      "narration": "189c8ff2-18bc-46d5-a2f3-5d78cd2e6e56 PURCHASE 6281400565827151883",
      "networkProvider": "mtn",
      "status": true
    "refid": "6281400565827151883",
    "vendref": "6281400565827151883",
    "debitref": "6281400565827151883",
    "currency": "ngn",
    "request": "Vendy\nDear Customer, Disu Kayode requested payment of NGN60.\nEnter the amount to pay:",
    "msisdn": "2347043556860",
    "reason": "189c8ff2-18bc-46d5-a2f3-5d78cd2e6e56 vended successfully",
    "raw_reason": "Successful transaction",
    "client": "189c8ff2-18bc-46d5-a2f3-5d78cd2e6e56",
    "channel": "fcmb",
    "method": "ussd",
    "account": "5566769145",
    "created_on": "2023-05-19 08:22:02",
    "updated_on": "2023-05-19 08:22:02",
    "vended_date": "2023-05-19 08:22:19",
    "debited_date": "2023-05-19 08:22:19",
    "page": "pin-page"