Subiendo proyecto completo sin restricciones de git ignore
This commit is contained in:
220
vendor/osenco/mpesa/RESPONSES.md
vendored
Normal file
220
vendor/osenco/mpesa/RESPONSES.md
vendored
Normal file
@@ -0,0 +1,220 @@
|
||||
# MPESA API Responses
|
||||
This file includes instructions and sample code for processing callback data sent from Safaricom. It includes sample responses from Safaricom and how to process them accordingly.
|
||||
|
||||
## STK Response Data
|
||||
### Sample Response
|
||||
```json
|
||||
{
|
||||
"Body":{
|
||||
"stkCallback":{
|
||||
"MerchantRequestID":"19465-780693-1",
|
||||
"CheckoutRequestID":"ws_CO_27072017154747416",
|
||||
"ResultCode":0,
|
||||
"ResultDesc":"The service request is processed successfully.",
|
||||
"CallbackMetadata":{
|
||||
"Item":[
|
||||
{
|
||||
"Name":"Amount",
|
||||
"Value":1
|
||||
},
|
||||
{
|
||||
"Name":"MpesaReceiptNumber",
|
||||
"Value":"LGR7OWQX0R"
|
||||
},
|
||||
{
|
||||
"Name":"Balance"
|
||||
},
|
||||
{
|
||||
"Name":"TransactionDate",
|
||||
"Value":20170727154800
|
||||
},
|
||||
{
|
||||
"Name":"PhoneNumber",
|
||||
"Value":254721566839
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Sample Callback Function
|
||||
```php
|
||||
function mpesa_stk_callback($response)
|
||||
{
|
||||
$data = $response["Body"]["stkCallback"];
|
||||
|
||||
$MerchantRequestID = $data["MerchantRequestID"];
|
||||
$CheckoutRequestID = $data["CheckoutRequestID"],
|
||||
$ResultCode = $data["ResultCode"],
|
||||
$ResultDesc = $data["ResultDesc"],
|
||||
$CallbackMetadata = $data["CallbackMetadata"];
|
||||
|
||||
$Amount = $CallbackMetadata["Item"][0]["Value"];
|
||||
$MpesaReceiptNumber = $CallbackMetadata["Item"][1]["Value"];
|
||||
$Balance = $CallbackMetadata["Item"][2]["Value"];
|
||||
$TransactionDate = $CallbackMetadata["Item"][3]["Value"];
|
||||
$PhoneNumber = $CallbackMetadata["Item"][4]["Value"];
|
||||
|
||||
// Do something with the variables above then return true or false
|
||||
|
||||
return true
|
||||
}
|
||||
```
|
||||
|
||||
## C2B Response Data
|
||||
### Sample Response
|
||||
```json
|
||||
{
|
||||
"Body":
|
||||
{
|
||||
"stkCallback":
|
||||
{
|
||||
"MerchantRequestID":"19465-780693-1",
|
||||
"CheckoutRequestID":"ws_CO_27072017154747416",
|
||||
"ResultCode":0,
|
||||
"ResultDesc":"The service request is processed successfully.",
|
||||
"CallbackMetadata":
|
||||
{
|
||||
"Item":
|
||||
[
|
||||
{
|
||||
"Name":"Amount",
|
||||
"Value":1
|
||||
},
|
||||
{
|
||||
"Name":"MpesaReceiptNumber",
|
||||
"Value":"LGR7OWQX0R"
|
||||
},
|
||||
{
|
||||
"Name":"Balance"
|
||||
},
|
||||
{
|
||||
"Name":"TransactionDate",
|
||||
"Value":20170727154800
|
||||
},
|
||||
{
|
||||
"Name":"PhoneNumber",
|
||||
"Value":254721566839
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Sample Callback Function
|
||||
```php
|
||||
function mpesa_c2b_callback($response)
|
||||
{
|
||||
$data = $response["Body"]["stkCallback"];
|
||||
|
||||
$MerchantRequestID = $data["MerchantRequestID"];
|
||||
$CheckoutRequestID = $data["CheckoutRequestID"],
|
||||
$ResultCode = $data["ResultCode"],
|
||||
$ResultDesc = $data["ResultDesc"],
|
||||
$CallbackMetadata = $data["CallbackMetadata"];
|
||||
|
||||
$Amount = $CallbackMetadata["Item"][0]["Value"];
|
||||
$MpesaReceiptNumber = $CallbackMetadata["Item"][0]["Value"];
|
||||
$Balance = $CallbackMetadata["Item"][0]["Value"];
|
||||
$TransactionDate = $CallbackMetadata["Item"][0]["Value"];
|
||||
$PhoneNumber = $CallbackMetadata["Item"][0]["Value"];
|
||||
|
||||
// Do something with the variables above then return true or false
|
||||
|
||||
return true
|
||||
}
|
||||
```
|
||||
|
||||
## B2C Response Data
|
||||
### Sample Response
|
||||
```json
|
||||
{
|
||||
"Result":
|
||||
{
|
||||
"ResultType":0,
|
||||
"ResultCode":0,
|
||||
"ResultDesc":"The service request has been accepted successfully.",
|
||||
"OriginatorConversationID":"19455-424535-1",
|
||||
"ConversationID":"AG_20170717_00006be9c8b5cc46abb6",
|
||||
"TransactionID":"LGH3197RIB",
|
||||
"ResultParameters":
|
||||
{
|
||||
"ResultParameter":
|
||||
[
|
||||
{
|
||||
"Key":"TransactionReceipt",
|
||||
"Value":"LGH3197RIB"
|
||||
},
|
||||
{
|
||||
"Key":"TransactionAmount",
|
||||
"Value":8000
|
||||
},
|
||||
{
|
||||
"Key":"B2CWorkingAccountAvailableFunds",
|
||||
"Value":150000
|
||||
},
|
||||
{
|
||||
"Key":"B2CUtilityAccountAvailableFunds",
|
||||
"Value":133568
|
||||
},
|
||||
{
|
||||
"Key":"TransactionCompletedDateTime",
|
||||
"Value":"17.07.2017 10:54:57"
|
||||
},
|
||||
{
|
||||
"Key":"ReceiverPartyPublicName",
|
||||
"Value":"254708374149 - John Doe"
|
||||
},
|
||||
{
|
||||
"Key":"B2CChargesPaidAccountAvailableFunds",
|
||||
"Value":0
|
||||
},
|
||||
{
|
||||
"Key":"B2CRecipientIsRegisteredCustomer",
|
||||
"Value":"Y"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ReferenceData":{
|
||||
"ReferenceItem":{
|
||||
"Key":"QueueTimeoutURL",
|
||||
"Value":"https://internalsandbox.safaricom.co.ke/mpesa/b2cresults/v1/submit"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Sample Callback Function
|
||||
```php
|
||||
function mpesa_b2c_callback($response)
|
||||
{
|
||||
$data = $response["Result"];
|
||||
|
||||
$ResultType = $data["ResultType"];
|
||||
$ResultCode = $data["ResultCode"];
|
||||
$ResultDesc = $data["ResultDesc"];
|
||||
$OriginatorConversationID = $data["OriginatorConversationID"];
|
||||
$ConversationID = $data["ConversationID"];
|
||||
$TransactionID = $data["TransactionID"];
|
||||
$ResultParameters = $data["ResultParameters"]["ResultParameter"];
|
||||
$QueueTimeoutURL = $data["ReferenceData"]["ReferenceItem"][0]["Value"];
|
||||
|
||||
$TransactionReceipt = $ResultParameters[0]["Value"];
|
||||
$TransactionAmount = $ResultParameters[1]["Value"];
|
||||
$B2CWorkingAccountAvailableFunds = $ResultParameters[2]["Value"];
|
||||
$B2CUtilityAccountAvailableFunds = $ResultParameters[3]["Value"];
|
||||
$TransactionCompletedDateTime = $ResultParameters[4]["Value"];
|
||||
$ReceiverPartyPublicName = $ResultParameters[5]["Value"];
|
||||
$B2CChargesPaidAccountAvailableFunds = $ResultParameters[6]["Value"];
|
||||
$B2CRecipientIsRegisteredCustomer = $ResultParameters[7]["Value"];
|
||||
|
||||
// Do something with the variables above then return true or false
|
||||
|
||||
return true
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user