General Payment Webhook
This endpoint facilitates real-time payment notifications for all types of transactions through OPay, enabling you to seamlessly integrate payment statuses and transaction details into your system for efficient reconciliation processes.
General Payment Webhook
Request Header
Parameter | Type | Required | Description |
Content-Type | String | Yes | |
X-Opay-Tranid | String | Yes | Transaction ID |
merchantId | String | Yes | Your Business ID or Branch ID |
Request Body
Here are the data you will get from OPay's payment notification:
Parameter | Type | Required | Description |
status | String | Yes | Transaction status (SUCCESS) |
outOrderNo | String | Yes | Your business order number |
orderNo | String | Yes | Your business order number |
payNo | String | OPay payment order number | |
errorMsg | String | Yes | Error message |
senderName | String | No | Sender name |
senderBank | String | No | Sender bank |
senderAccount | String | No | Sender account |
recipientName | String | No | Recipient name |
receiptBank | String | No | Recipient bank |
POST
{
"data": {
"outOrderNo":"2334345345345211",
"orderNo":"20220704741380171865833472",
"payNo":"2334345345345245",
"headMerchantId":"256622022480363",
"merchantId":"256622022480364",
"status": "SUCCESS",
"errorMsg": "Not sufficient funds",
"senderName": "LUJUN SUN",
"senderBank": "ubaBank",
"senderAccount": "2131****09",
"recipientName": "LUJUN SUN",
"receiptBank": "opay",
"receiptAccount": "6119787331",
"amount": "300.00",
"fee": "1.50",
"feePattern": "IN_DEDUCT",
"payMethod": "BankCard",
"settlementAmount":"100.00",
"settlementFee":"10.00",
"settlementFeePattern":"OUT_DEDUCT",
"currency": "NGN",
"isSplit":"Y",
"splitInfo":[
{
"splitMerchantId":"25623232423432",
"splitAmount":"20.00"
}
],
"productInfo":"",
"sn":"XXXX",
"remark": "static virtual account",
"transactionTime":"1692773950143",
"completedTime":"1692773950143",
"additionalInformation": "{\"pnr\":\"123\",\"rrn\":\"310137872249\"}"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Response
Parameter | Type | Description |
code | String | 00000 stands for successful response, otherwise failed |
message | String |
POST
{
"code": "00000",
"message": "SUCCESSFUL"
}
1
2
3
4
2
3
4