From 4b703a1d0c27fbffb3b38fc16703a2857c6f5970 Mon Sep 17 00:00:00 2001 From: andrew-paystack Date: Thu, 31 Jul 2025 15:13:37 +0300 Subject: [PATCH 1/2] add Pesalink webhook event --- .../payment-methods/pesalink-events.js | 100 ++++++++++++++++++ .../bank-transfer-rejected.json | 25 +++++ .../pesalink-events/charge-successful.json | 72 +++++++++++++ .../pesalink-events/config.yml | 3 + 4 files changed, 200 insertions(+) create mode 100644 dist/doc/payments/payment-methods/pesalink-events.js create mode 100644 src/doc/payments/payment-methods/pesalink-events/bank-transfer-rejected.json create mode 100644 src/doc/payments/payment-methods/pesalink-events/charge-successful.json create mode 100644 src/doc/payments/payment-methods/pesalink-events/config.yml diff --git a/dist/doc/payments/payment-methods/pesalink-events.js b/dist/doc/payments/payment-methods/pesalink-events.js new file mode 100644 index 0000000..e02c445 --- /dev/null +++ b/dist/doc/payments/payment-methods/pesalink-events.js @@ -0,0 +1,100 @@ +const bank_transfer_rejected = `{ + "event": "bank.transfer.rejected", + "data": { + "bank_transfer": { + "amount": "1000", + "message": "incorrect amount sent", + "message_type": "INCORRECT_AMOUNT", + "transaction_id": "5195686331" + }, + "customer": { + "first_name": "Amanda", + "last_name": "Bella", + "email": "user@example.com", + "phone": null, + "metadata": null, + "domain": "live", + "customer_code": "CUS_174rg4huaihJka", + "risk_action": "default", + "id": 181595312, + "integration": 741758, + "createdAt": "2025-04-24T16:55:57.954Z", + "updatedAt": "2025-04-24T16:55:57.954Z" + } + } +}` + +const charge_successful = `{ + "event": "charge.success", + "data": { + "id": 519558290, + "domain": "live", + "status": "success", + "reference": "uybxnzf71231", + "amount": 1000, + "message": null, + "gateway_response": "Approved", + "paid_at": "2025-06-21T11:11:27.000Z", + "created_at": "2025-06-21T11:02:57.000Z", + "channel": "bank_transfer", + "currency": "KES", + "ip_address": "172.68.67.162, 172.31.63.81", + "metadata": 0, + "fees_breakdown": { + "amount": "15", + "formula": null, + "type": "paystack" + }, + "log": null, + "fees": 15, + "fees_split": null, + "authorization": { + "authorization_code": "AUTH_9q100f8qle", + "bin": "010XXX", + "last4": "X607", + "exp_month": "06", + "exp_year": "2025", + "channel": "bank_transfer", + "card_type": "transfer", + "bank": "Diamond Trust Bank Limited", + "country_code": "KE", + "brand": "Managed Account", + "reusable": false, + "signature": null, + "account_name": null, + "sender_country": "KE", + "sender_bank": "Diamond Trust Bank Kenya Limited", + "sender_bank_account_number": "XXXXXXX607", + "sender_name": "ANN ABELL", + "narration": null, + "receiver_bank_account_number": "0096220001", + "receiver_bank": "Diamond Trust Bank Kenya Ltd" + }, + "customer": { + "id": 181595312, + "first_name": "Ann", + "last_name": "Abell", + "email": "user@example.com", + "customer_code": "CUS_174rg4huaih38hk", + "phone": null, + "metadata": null, + "risk_action": "default", + "international_format_phone": null + }, + "plan": {}, + "subaccount": {}, + "split": {}, + "order_id": null, + "paidAt": "2025-04-24T16:55:57.954Z", + "requested_amount": 1000, + "pos_transaction_data": null, + "source": { + "type": "api", + "source": "merchant_api", + "entry_point": "charge", + "identifier": null + } + } +}` + +export {bank_transfer_rejected, charge_successful} \ No newline at end of file diff --git a/src/doc/payments/payment-methods/pesalink-events/bank-transfer-rejected.json b/src/doc/payments/payment-methods/pesalink-events/bank-transfer-rejected.json new file mode 100644 index 0000000..6ca2f3b --- /dev/null +++ b/src/doc/payments/payment-methods/pesalink-events/bank-transfer-rejected.json @@ -0,0 +1,25 @@ +{ + "event": "bank.transfer.rejected", + "data": { + "bank_transfer": { + "amount": "1000", + "message": "incorrect amount sent", + "message_type": "INCORRECT_AMOUNT", + "transaction_id": "5195686331" + }, + "customer": { + "first_name": "Amanda", + "last_name": "Bella", + "email": "user@example.com", + "phone": null, + "metadata": null, + "domain": "live", + "customer_code": "CUS_174rg4huaihJka", + "risk_action": "default", + "id": 181595312, + "integration": 741758, + "createdAt": "2025-04-24T16:55:57.954Z", + "updatedAt": "2025-04-24T16:55:57.954Z" + } + } +} \ No newline at end of file diff --git a/src/doc/payments/payment-methods/pesalink-events/charge-successful.json b/src/doc/payments/payment-methods/pesalink-events/charge-successful.json new file mode 100644 index 0000000..33d930c --- /dev/null +++ b/src/doc/payments/payment-methods/pesalink-events/charge-successful.json @@ -0,0 +1,72 @@ +{ + "event": "charge.success", + "data": { + "id": 519558290, + "domain": "live", + "status": "success", + "reference": "uybxnzf71231", + "amount": 1000, + "message": null, + "gateway_response": "Approved", + "paid_at": "2025-06-21T11:11:27.000Z", + "created_at": "2025-06-21T11:02:57.000Z", + "channel": "bank_transfer", + "currency": "KES", + "ip_address": "172.68.67.162, 172.31.63.81", + "metadata": 0, + "fees_breakdown": { + "amount": "15", + "formula": null, + "type": "paystack" + }, + "log": null, + "fees": 15, + "fees_split": null, + "authorization": { + "authorization_code": "AUTH_9q100f8qle", + "bin": "010XXX", + "last4": "X607", + "exp_month": "06", + "exp_year": "2025", + "channel": "bank_transfer", + "card_type": "transfer", + "bank": "Diamond Trust Bank Limited", + "country_code": "KE", + "brand": "Managed Account", + "reusable": false, + "signature": null, + "account_name": null, + "sender_country": "KE", + "sender_bank": "Diamond Trust Bank Kenya Limited", + "sender_bank_account_number": "XXXXXXX607", + "sender_name": "ANN ABELL", + "narration": null, + "receiver_bank_account_number": "0096220001", + "receiver_bank": "Diamond Trust Bank Kenya Ltd" + }, + "customer": { + "id": 181595312, + "first_name": "Ann", + "last_name": "Abell", + "email": "user@example.com", + "customer_code": "CUS_174rg4huaih38hk", + "phone": null, + "metadata": null, + "risk_action": "default", + "international_format_phone": null + }, + "plan": {}, + "subaccount": {}, + "split": {}, + "order_id": null, + "paidAt": "2025-04-24T16:55:57.954Z", + "requested_amount": 1000, + "pos_transaction_data": null, + "source": { + "type": "api", + "source": "merchant_api", + "entry_point": "charge", + "identifier": null + } + } +} \ No newline at end of file diff --git a/src/doc/payments/payment-methods/pesalink-events/config.yml b/src/doc/payments/payment-methods/pesalink-events/config.yml new file mode 100644 index 0000000..6c7ecb9 --- /dev/null +++ b/src/doc/payments/payment-methods/pesalink-events/config.yml @@ -0,0 +1,3 @@ +type: event +languages: + - json \ No newline at end of file From 65d79cc0e1c84f1fb00b97587cacb5ea7a48e95f Mon Sep 17 00:00:00 2001 From: andrew-paystack Date: Thu, 31 Jul 2025 16:01:56 +0300 Subject: [PATCH 2/2] fix on sample data --- dist/doc/payments/payment-methods/pesalink-events.js | 2 +- .../payment-methods/pesalink-events/charge-successful.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/doc/payments/payment-methods/pesalink-events.js b/dist/doc/payments/payment-methods/pesalink-events.js index e02c445..9354a40 100644 --- a/dist/doc/payments/payment-methods/pesalink-events.js +++ b/dist/doc/payments/payment-methods/pesalink-events.js @@ -67,7 +67,7 @@ const charge_successful = `{ "sender_bank_account_number": "XXXXXXX607", "sender_name": "ANN ABELL", "narration": null, - "receiver_bank_account_number": "0096220001", + "receiver_bank_account_number": "0123456789", "receiver_bank": "Diamond Trust Bank Kenya Ltd" }, "customer": { diff --git a/src/doc/payments/payment-methods/pesalink-events/charge-successful.json b/src/doc/payments/payment-methods/pesalink-events/charge-successful.json index 33d930c..23fcdc8 100644 --- a/src/doc/payments/payment-methods/pesalink-events/charge-successful.json +++ b/src/doc/payments/payment-methods/pesalink-events/charge-successful.json @@ -41,7 +41,7 @@ "sender_bank_account_number": "XXXXXXX607", "sender_name": "ANN ABELL", "narration": null, - "receiver_bank_account_number": "0096220001", + "receiver_bank_account_number": "0123456789", "receiver_bank": "Diamond Trust Bank Kenya Ltd" }, "customer": {