Skip to content

Instantly share code, notes, and snippets.

@adejorosam
Created March 15, 2024 09:39
Show Gist options
  • Save adejorosam/8612bc99bac0d5272eaa489423a40211 to your computer and use it in GitHub Desktop.
Save adejorosam/8612bc99bac0d5272eaa489423a40211 to your computer and use it in GitHub Desktop.
$app->post('/api/paystackWebhook', function ($request, $response) {
//check originating IP Address
if($_SERVER['REMOTE_ADDR'] != "52.31.139.75" && $_SERVER['REMOTE_ADDR'] != "52.49.173.169" && $_SERVER['REMOTE_ADDR'] != "52.214.14.220")
{
//check if cal is from cardinalstone server
if($_SERVER['REMOTE_ADDR'] != "167.99.109.180")
{
//log event
$message1 = "Customer Code Not Retrieved";
$message2 = "Bank Account Number Not Retrieved";
$message3 = "Amount and Bank Not Retrieved";
$message4 = "Unknown Originating IP Address";
$message5 = "Webhook Call from: " . $_SERVER['REMOTE_ADDR'];
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(400);
return $response
->withStatus(400)
->withJson(["message" => "Not Allowed"]);
}
else{
//log event
$message1 = "Customer Code Not Retrieved";
$message2 = "Bank Account Number Not Retrieved";
$message3 = "Amount and Bank Not Retrieved";
$message4 = "Internal Originating IP Address";
$message5 = "Internal Call from: " . $_SERVER['REMOTE_ADDR'];
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
//ldap authentication
$url = BASE_URL . "/api/authenticate";
$options = [
'json' => [
"username" => VIRTUAL_ACCOUNT_USER,
"password" => VIRTUAL_ACCOUNT_PASSWORD,
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
//call webhook login
$url = BASE_URL . "/api/mutualfund/webhookLogin";
$options = [
'headers' => [
'Authorization' => $res->accessToken,
],
'json' => [
"webhookType" => "paystack_recovery",
"ipaddress" => $_SERVER['REMOTE_ADDR'],
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}
}else{
// only a post with paystack signature header gets our attention
$input = @file_get_contents("php://input");
$event = json_decode($input);
$events = $event->event;
if($events == "customeridentification.success" || $events == "customeridentification.failed")
{
$customerCode1 = $event->data->customer_code;
$reference = $event->data->email;
}elseif($events == "charge.success" || $events == "charge.failed")
{
$customerCode1 = $event->data->customer->customer_code . " - " .$event->data->customer->first_name . " - " .$event->data->customer->last_name;
$reference = $event->data->reference;
}
elseif($events == "transfer.success" || $events == "transfer.failed")
{
$reference = $event->data->reference;
$customerCode1 = $event->data->recipient->recipient_code . " - " .$event->data->transfer_code . " - " .$event->data->recipient->details->account_name . " - " .$event->data->recipient->details->account_number . " - " .$event->data->recipient->details->bank_name . " - " .$event->data->amount/100;
}
$channel = $event->data->authorization->channel;
//general webhook event logged
// $message1 = "Event: " . $events . ", Customer Code: " . $customerCode1 ." or ".$customerCode2 ;
$message1 = "Event: " . $events . ", Customer: " . $customerCode1 . ", Reference: " . $reference;
$message2 = "This is an Intro log of Paystack webhook trigger";
$message3 = "Paystack Event triggered at ". Carbon::now()->format('Y-m-d H:i:s') ;
$message4 = "Proceeding to anaylze event";
$message5 = "Paystack Event logged";
//--- $log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
// $customerCode = "CUS_t8asm21whvf6wht";
// $virtualAccountNumber = "7251694835";
// $amount = "25000";
// $bank = "Wema Bank";
// $reference = "MF0235775734226";
if ($events == "charge.success" && $channel == "dedicated_nuban") //process nuban payment
{
$customerCode = $event->data->customer->customer_code;
$virtualAccountNumber = $event->data->authorization->receiver_bank_account_number;
$accountName = $event->data->customer->last_name ." " . $event->data->customer->first_name;
$email = $event->data->customer->email;
$phone = $event->data->customer->phone;
$amount = $event->data->amount/100;
$bank = $event->data->authorization->receiver_bank;
$channel = $event->data->authorization->channel;
$senderName = $event->data->authorization->sender_name;
$senderAccount = $event->data->authorization->sender_bank_account_number;
$senderBank = $event->data->authorization->sender_bank;
$reference = $event->data->reference;
//log event
$message1 = "Customer Code: ". $customerCode. ", Account Name: " . $accountName . ", Bank Account Number: " . $virtualAccountNumber . ", Amount: " . $amount . ", Bank: " .$bank .", Email: " . $email . ", Phone: " . $phone;
$message2 = "Sender Name: " . $senderName . ", Sender Account Number: " . $senderAccount . ", Sender Bank: " .$senderBank;
$message3 = "Paystack Signature Verified and Recognized originating IP: " . $_SERVER['REMOTE_ADDR'];
$message4 = "Reference: " . $reference . ", Event: " . $events;
$message5 = "Virtual Account Payment Initiated via " . $channel;
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
//ldap authentication
$url = BASE_URL . "/api/authenticate";
// $url = BASE_URL . "/api/findCustomerByName";
$options = [
'json' => [
"username" => VIRTUAL_ACCOUNT_USER,
// "username" => "1196",
"password" => VIRTUAL_ACCOUNT_PASSWORD,
// "password" => "123456",
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
//call webhook login
$url = BASE_URL . "/api/mutualfund/webhookLogin";
$options = [
'headers' => [
'Authorization' => $res->accessToken,
],
'json' => [
"customerCode" => $customerCode,
"virtualAccountNumber" => $virtualAccountNumber,
"amount" => $amount,
"bank" => $bank,
"senderName" => $senderName,
"senderAccount" => $senderAccount,
"senderBank" => $senderBank,
"reference" => $reference,
"ipaddress" => $_SERVER['REMOTE_ADDR'],
"webhookType" => "nubanPayment",
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
if($res->code == 200)
{
//log event
$message1 = "Customer Code: ". $customerCode. ", Account Name: " . $accountName . ", Bank Account Number: " . $virtualAccountNumber . ", Amount: " . $amount . ", Bank: " .$bank .", Email: " . $email . ", Phone: " . $phone;
$message2 = "Sender Name: " . $senderName . ", Sender Account Number: " . $senderAccount . ", Sender Bank: " .$senderBank;
$message3 = "Reference: " . $reference . ", Code: ". $res->code . ", Status: ". $res->message;
$message4 = "Process Completed";
$message5 = "Virtual Account Processing Successful";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}else{
//log event
$message1 = "Customer Code: ". $customerCode. ", Account Name: " . $accountName . ", Bank Account Number: " . $virtualAccountNumber . ", Amount: " . $amount . ", Bank: " .$bank .", Email: " . $email . ", Phone: " . $phone;
$message2 = "Sender Name: " . $senderName . ", Sender Account Number: " . $senderAccount . ", Sender Bank: " .$senderBank;
$message3 = "Reference: " . $reference . ", Code: ". $res->code . ", Status: ". $res->message;
$message4 = "Process Completed";
$message5 = "Virtual Account Processing Failed";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
/* http_response_code(200);
return $response
->withStatus(200); */
// ->withJson(["message" => "Transaction Completed"]);
}
}elseif($events == "charge.success" && $channel == "dedicated_nub") {
//to automate all payment e.g mutual funds subscription via portal using webhook, remove && $channel == "dedicated_nuba"
//and process subscription via webhook login. For now use && $channel == "dedicated_nuba" to hold this spot
/* {
"event":"charge.success",
"data": {
"id":302961,
"domain":"live",
"status":"success",
"reference":"qTPrJoy9Bx",
"amount":10000,
"message":null,
"gateway_response":"Approved by Financial Institution",
"paid_at":"2016-09-30T21:10:19.000Z",
"created_at":"2016-09-30T21:09:56.000Z",
"channel":"card",
"currency":"NGN",
"ip_address":"41.242.49.37",
"metadata":0,
"log":{
"time_spent":16,
"attempts":1,
"authentication":"pin",
"errors":0,
"success":false,
"mobile":false,
"input":[],
"channel":null,
"history":[
{
"type":"input",
"message":"Filled these fields: card number, card expiry, card cvv",
"time":15
},
{
"type":"action",
"message":"Attempted to pay",
"time":15
},
{
"type":"auth",
"message":"Authentication Required: pin",
"time":16
}
]
},
"fees":null,
"customer":{
"id":68324,
"first_name":"BoJack",
"last_name":"Horseman",
"email":"bojack@horseman.com",
"customer_code":"CUS_qo38as2hpsgk2r0",
"phone":null,
"metadata":null,
"risk_action":"default"
},
"authorization":{
"authorization_code":"AUTH_f5rnfq9p",
"bin":"539999",
"last4":"8877",
"exp_month":"08",
"exp_year":"2020",
"card_type":"mastercard DEBIT",
"bank":"Guaranty Trust Bank",
"country_code":"NG",
"brand":"mastercard",
"account_name": "BoJack Horseman"
},
"plan":{}
}
} */
$customerCode = $event->data->customer->customer_code;
$accountName = $event->data->customer->last_name ." " . $event->data->customer->first_name;
$email = $event->data->customer->email;
$phone = $event->data->customer->phone;
$amount = $event->data->amount/100;
$ipaddress = $event->data->ip_address;
$bank = $event->data->authorization->bank;
$channel = $event->data->channel;
$card_type = $event->data->authorization->card_type;
$card_name = $event->data->authorization->account_name;
$exp_month = $event->data->authorization->exp_month;
$exp_year = $event->data->authorization->exp_year;
$last4 = $event->data->authorization->last4;
$brand = $event->data->authorization->brand;
$card_details = $card_name ."-" .$card_type ."-" .$last4 ."-" .$brand;
$bankAccount = $event->data->authorization->sender_bank_account_number;
$reference = $event->data->reference;
//log event
$message1 = "Customer Code: ". $customerCode. ", Account Name: " . $accountName . ", Bank Account Number: " . $bankAccount . ", Amount: " . $amount . ", Bank: " .$bank .", Email: " . $email . ", Phone: " . $phone;
$message2 = "Reference: " . $reference . ", Event: " . $events . ", Card Details: " . $card_details. " from ip address: ". $ipaddress;
$message3 = "Paystack Signature Verified and Recognized originating IP: " . $_SERVER['REMOTE_ADDR'];
$message4 = "Paystack Payment Initiated via " . $channel;
$message5 = "Non dedicated_nuban payments to handle incomplete payments on portal";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
//ldap authentication
$url = BASE_URL . "/api/authenticate";
$options = [
'json' => [
"username" => VIRTUAL_ACCOUNT_USER,
"password" => VIRTUAL_ACCOUNT_PASSWORD,
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
//call webhook login
$url = BASE_URL . "/api/mutualfund/webhookLogin";
$options = [
'headers' => [
'Authorization' => $res->accessToken,
],
'json' => [
"customerCode" => $customerCode,
"bankAccount" => $bankAccount,
"amount" => $amount,
"bank" => $bank,
"card_details" => $card_details,
"accountName" => $accountName,
"email" => $email,
"phone" => $phone,
"ipaddress" => $ipaddress,
"reference" => $reference,
"events" => $events,
"webhookType" => "paystack",
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
if($res->code == 200)
{
//log event
$message1 = "Customer Code: ". $customerCode. ", Account Name: " . $accountName . ", Bank Account Number: " . $bankAccount . ", Amount: " . $amount . ", Bank: " .$bank .", Email: " . $email . ", Phone: " . $phone;
$message2 = "Reference: " . $reference . ", Event: " . $events . ", Card Details: " . $card_details. " from ip address: ". $ipaddress;
$message3 = "Reference: " . $reference . ", Code: ". $res->code . ", Message: ". $res->message;
$message4 = "Process Completed";
$message5 = "Non dedicated_nuban payments Successful.";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}else{
//log event
$message1 = "Customer Code: ". $customerCode. ", Account Name: " . $accountName . ", Bank Account Number: " . $bankAccount . ", Amount: " . $amount . ", Bank: " .$bank .", Email: " . $email . ", Phone: " . $phone;
$message2 = "Reference: " . $reference . ", Event: " . $events . ", Card Details: " . $card_details. " from ip address: ". $ipaddress;
$message3 = "Reference: " . $reference . ", Code: ". $res->code . ", Message: ". $res->message;
$message4 = "Process Not Completed";
$message5 = "Non dedicated_nuban payments Failed.";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
/* http_response_code(200);
return $response
->withStatus(200); */
// ->withJson(["message" => "Transaction Completed"]);
}
}elseif ($events == "customeridentification.success" ){ //Process Successful Customer Identification
/* {
"event": "customeridentification.success",
"data": {
"customer_id": "9387490384",
"customer_code": "CUS_xnxdt6s1zg1f4nx",
"email": "bojack@horsinaround.com",
"identification": {
"country": "NG",
"type": "bvn",
"value": "200*****677"
}
}
}*/
$customerCode = $event->data->customer_code;
$email = $event->data->email;
$type = $event->data->identification->type;
$value = $event->data->identification->value;
$account_number = $event->data->identification->account_number;
$bvn = $event->data->identification->bvn;
$bank_code = $event->data->identification->bank_code;
//log event
$message1 = "Customer Code: ". $customerCode;
$message2 = "Event: ". $events . ", ID Type: ". $type;
$message3 = "account_number: ". $account_number . ", BVN: ". $bvn . ", bank_code: ". $bank_code;
$message4 = "Customer Verification Status Notification";
$message5 = "Proceed to Update Customer Verification";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
//ldap authentication
$url = BASE_URL . "/api/authenticate";
$options = [
'json' => [
"username" => VIRTUAL_ACCOUNT_USER,
"password" => VIRTUAL_ACCOUNT_PASSWORD,
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
//call webhook login
$url = BASE_URL . "/api/mutualfund/webhookLogin";
$options = [
'headers' => [
'Authorization' => $res->accessToken,
],
'json' => [
"customerCode" => $customerCode,
"email" => $email,
"idType" => $type,
"idValue" => $value,
"webhookType" => "customerIdentification",
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
if($res->code == 200)
{
//log event
$message1 = "Customer Code: ". $customerCode;
$message2 = "Event: ". $events . ", ID Type: ". $type;
$message3 = "account_number: ". $account_number . ", BVN: ". $bvn . ", bank_code: ". $bank_code;
$message4 = "Customer Verification Status Notification";
$message5 = "Customer Verification Successful";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}else{
//log event
$message1 = "Customer Code: ". $customerCode;
$message2 = "Event: ". $events . ", ID Type: ". $type;
$message3 = "account_number: ". $account_number . ", BVN: ". $bvn . ", bank_code: ". $bank_code;
$message4 = "Customer Verification Status Notification";
$message5 = "Customer Verification Failed";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
/* http_response_code(200);
return $response
->withStatus(200); */
// ->withJson(["message" => "Transaction Completed"]);
}
}elseif ($events == "customeridentification.failed" ){ //Process Failed Customer Identification
/* {
"event": "customeridentification.failed",
"data": {
"customer_id": "9387490384",
"customer_code": "CUS_xnxdt6s1zg1f4nx",
"email": "bojack@horsinaround.com",
"identification": {
"country": "NG",
"type": "bvn",
"value": "200*****677"
}
}
}*/
$customerCode = $event->data->customer_code;
$email = $event->data->email;
$type = $event->data->identification->type;
$value = $event->data->identification->value;
$account_number = $event->data->identification->account_number;
$bvn = $event->data->identification->bvn;
$bank_code = $event->data->identification->bank_code;
//log event
$message1 = "Customer Code111: ". $customerCode;
$message2 = $event->data->reason;
$message3 = "account_number: ". $account_number . ", BVN: ". $bvn . ", bank_code: ". $bank_code;
$message4 = "Customer Verification Status Notification";
$message5 = "Customer Verification Failed". $event->data->reason;
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}elseif ($events == "transfer.failed" ){
/* {
"event": "transfer.failed",
"data": {
"amount": 200000,
"currency": "NGN",
"domain": "test",
"failures": null,
"id": 69123462,
"integration": {
"id": 100043,
"is_live": true,
"business_name": "Paystack"
},
"reason": "Enjoy",
"reference": "1976435206",
"source": "balance",
"source_details": null,
"status": "failed",
"titan_code": null,
"transfer_code": "TRF_chs98y5rykjb47w",
"transferred_at": null,
"recipient": {
"active": true,
"currency": "NGN",
"description": null,
"domain": "test",
"email": "test@email.com",
"id": 13584206,
"integration": 100043,
"metadata": null,
"name": "Ted Lasso",
"recipient_code": "RCP_cjcua8itre45gs",
"type": "nuban",
"is_deleted": false,
"details": {
"authorization_code": null,
"account_number": "0123456789",
"account_name": "Ted Lasso",
"bank_code": "011",
"bank_name": "First Bank of Nigeria"
},
"created_at": "2021-04-12T15:30:14.000Z",
"updated_at": "2021-04-12T15:30:14.000Z"
},
"session": {
"provider": "nip",
"id": "74849400998877667"
},
"created_at": "2021-04-12T15:30:15.000Z",
"updated_at": "2021-04-12T15:41:21.000Z"
}
}*/
$recipientCode = $event->data->recipient->recipient_code;
$accountName = $event->data->recipient->details->account_name;
$accountNumber = $event->data->recipient->details->account_number;
$bankName = $event->data->recipient->details->bank_name;
$amount = $event->data->amount/100;
$transferCode = $event->data->transfer_code;
$reason = $event->data->reason;
//log event
$message1 = "Recipient Code: ". $recipientCode;
$message2 = "Account Name: ". $accountName .", Account Number: ". $accountNumber .", " .", Bank Name: ". $bankName;
$message3 = "Amount". $amount . ", Transfer Code " . $transferCode ;
$message4 = "Reason " . $reason;
$message5 = "Proceed to notify FINCON and RICA";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
//ldap authentication
$url = BASE_URL . "/api/authenticate";
$options = [
'json' => [
"username" => VIRTUAL_ACCOUNT_USER,
"password" => VIRTUAL_ACCOUNT_PASSWORD,
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
//call webhook login
$url = BASE_URL . "/api/mutualfund/webhookLogin";
$options = [
'headers' => [
'Authorization' => $res->accessToken,
],
'json' => [
"recipientCode" => $recipientCode,
"accountName" => $accountName,
"accountNumber" => $accountNumber,
"bankName" => $bankName,
"amount" => $amount,
"transferCode" => $transferCode,
"reason" => $reason,
"webhookType" => "transfer",
]
];
try {
$response = $this->guzzle->post("{$url}", $options);
} catch (\GuzzleHttp\Exception\RequestException $e) {
if ($e->hasResponse()) {
$response = $e->getResponse();
}
}
$res = json_decode($response->getBody());
if($res->code == 200)
{
//log event
$message1 = "Recipient Code: ". $recipientCode;
$message2 = "Account Name: ". $accountName .", Account Number: ". $accountNumber .", " .", Bank Name: ". $bankName;
$message3 = "Amount". $amount . ", Transfer Code " . $transferCode ;
$message4 = "Reason " . $reason;
$message5 = "Successfully notified FINCON and RICA";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}else{
//log event
$message1 = "Recipient Code: ". $recipientCode;
$message2 = "Account Name: ". $accountName .", Account Number: ". $accountNumber .", " .", Bank Name: ". $bankName;
$message3 = "Amount". $amount . ", Transfer Code " . $transferCode ;
$message4 = "Reason " . $reason;
$message5 = "Failed to notify FINCON and RICA";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
/* http_response_code(200);
return $response
->withStatus(200); */
// ->withJson(["message" => "Transaction Completed"]);
}
}elseif ($events == "transfer.success" ){
/* {
"event": "transfer.success",
"data": {
"amount": 30000,
"currency": "NGN",
"domain": "test",
"failures": null,
"id": 37272792,
"integration": {
"id": 463433,
"is_live": true,
"business_name": "Boom Boom Industries NG"
},
"reason": "Have fun...",
"reference": "1jhbs3ozmen0k7y5efmw",
"source": "balance",
"source_details": null,
"status": "success",
"titan_code": null,
"transfer_code": "TRF_wpl1dem4967avzm",
"transferred_at": null,
"recipient": {
"active": true,
"currency": "NGN",
"description": "",
"domain": "test",
"email": null,
"id": 8690817,
"integration": 463433,
"metadata": null,
"name": "Jack Sparrow",
"recipient_code": "RCP_a8wkxiychzdzfgs",
"type": "nuban",
"is_deleted": false,
"details": {
"account_number": "0000000000",
"account_name": null,
"bank_code": "011",
"bank_name": "First Bank of Nigeria"
},
"created_at": "2020-09-03T12:11:25.000Z",
"updated_at": "2020-09-03T12:11:25.000Z"
},
"session": { "provider": null, "id": null },
"created_at": "2020-10-26T12:28:57.000Z",
"updated_at": "2020-10-26T12:28:57.000Z"
}
}*/
$recipientCode = $event->data->recipient->recipient_code;
$accountName = $event->data->recipient->details->account_name;
$accountNumber = $event->data->recipient->details->account_number;
$bankName = $event->data->recipient->details->bank_name;
$amount = $event->data->amount/100;
$transferCode = $event->data->transfer_code;
$reason = $event->data->reason;
//log event
$message1 = "Recipient Code: ". $recipientCode;
$message2 = "Account Name: ". $accountName .", Account Number: ". $accountNumber .", " .", Bank Name: ". $bankName;
$message3 = "Amount ". $amount . ", Transfer Code " . $transferCode ;
$message4 = "Reason " . $reason;
$message5 = "Transfer successful";
$log = $this->mutualFundModel->activity_log($message1,$message2,$message3,$message4,$message5);
http_response_code(200);
return $response
->withStatus(200);
// ->withJson(["message" => "Transaction Completed"]);
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment