MpesaPaymentController :: receiveMpesaPaybillCallback
Request
GET Parameters
No GET parameters
POST Parameters
| Key | Value |
|---|---|
| BillRefNumber | "peterson" |
| BusinessShortCode | "4022961" |
| FirstName | "Peterson" |
| InvoiceNumber | "" |
| LastName | "" |
| MSISDN | "7c487a5277ec487730e1d6689c6e35425a0e70d8f33aad865eae36678195dcd6" |
| MiddleName | "" |
| OrgAccountBalance | "57732.00" |
| ThirdPartyTransID | "" |
| TransAmount | "300.00" |
| TransID | "TKI1CAHSA8" |
| TransTime | "20251118195856" |
| TransactionType | "Pay Bill" |
Uploaded Files
No files were uploaded
Request Attributes
| Key | Value |
|---|---|
| _controller | "App\Payment\MpesaPaymentController::receiveMpesaPaybillCallback" |
| _firewall_context | "security.firewall.map.context.main" |
| _route | "receive_mpesa_paybill_callback" |
| _route_params | [] |
| _security_firewall_run | "_security_main" |
| _stopwatch_token | "ca24a5" |
| media_type | "text/html" |
| paramFetcher | FOS\RestBundle\Request\ParamFetcher {#505 -container: Container71uEwV2\App_KernelDevDebugContainer {#40 …} -parameterBag: FOS\RestBundle\Request\ParameterBag {#503 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#289 …} -validator: Symfony\Component\Validator\Validator\TraceableValidator {#514 …} } |
Request Headers
| Header | Value |
|---|---|
| accept-encoding | "gzip,deflate" |
| cache-control | "no-store" |
| content-length | "560" |
| content-type | "application/json" |
| host | "sys.nenocourier.co.ke" |
| soapaction | ""ConfirmC2BPayment"" |
| traceparent | "00-65cf9357aca3422caf66ff3e8e374e36-74cabb55b7f8ae15-00" |
| tracestate | "265f7333-c11c5b27@dt=fw4;4;89a7823f;4f684e1;1;1;0;1c6;8985;2h01;3h89a7823f;4h04f684e1;5h01;6h65cf9357aca3422caf66ff3e8e374e36;7h74cabb55b7f8ae15" |
| user-agent | "Apache-HttpClient/4.5.2 (Java/1.8.0_361)" |
| x-dynatrace | "FW4;-1055106265;4;-1985510849;83264737;-2147483647;643789619;454;8985;2h01;3h89a7823f;4h04f684e1;5h01;6h65cf9357aca3422caf66ff3e8e374e36;7h74cabb55b7f8ae15" |
| x-envoy-attempt-count | "1" |
| x-envoy-expected-rq-timeout-ms | "300000" |
| x-forwarded-for | "10.184.20.30" |
| x-forwarded-proto | "https" |
| x-php-ob-level | "1" |
| x-request-id | "9e628e44-13c0-4f3e-9268-04dd806698ee" |
Request Content
Pretty
{
"TransactionType": "Pay Bill",
"TransID": "TKI1CAHSA8",
"TransTime": "20251118195856",
"TransAmount": "300.00",
"BusinessShortCode": "4022961",
"BillRefNumber": "peterson",
"InvoiceNumber": "",
"OrgAccountBalance": "57732.00",
"ThirdPartyTransID": "",
"MSISDN": "7c487a5277ec487730e1d6689c6e35425a0e70d8f33aad865eae36678195dcd6",
"FirstName": "Peterson",
"MiddleName": "",
"LastName": ""
}
Raw
{
"TransactionType": "Pay Bill",
"TransID": "TKI1CAHSA8",
"TransTime": "20251118195856",
"TransAmount": "300.00",
"BusinessShortCode": "4022961",
"BillRefNumber": "peterson",
"InvoiceNumber": "",
"OrgAccountBalance": "57732.00",
"ThirdPartyTransID": "",
"MSISDN": "7c487a5277ec487730e1d6689c6e35425a0e70d8f33aad865eae36678195dcd6",
"FirstName": "Peterson",
"MiddleName": "",
"LastName": ""
}
Response
Response Headers
| Header | Value |
|---|---|
| cache-control | "no-cache, private" |
| content-type | "text/html; charset=UTF-8" |
| date | "Tue, 18 Nov 2025 16:58:57 GMT" |
| x-debug-token | "316944" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session 1
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
1
Usages
Stateless check enabled
| Usage |
|---|
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:44
[
[
"file" => "/var/www/html/courier/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php"
"line" => 44
"function" => "getMetadataBag"
"class" => "Symfony\Component\HttpFoundation\Session\Session"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/security-http/Firewall/AccessListener.php"
"line" => 87
"function" => "getToken"
"class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/security-bundle/Debug/WrappedLazyListener.php"
"line" => 49
"function" => "authenticate"
"class" => "Symfony\Component\Security\Http\Firewall\AccessListener"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/security-http/Firewall/AbstractListener.php"
"line" => 26
"function" => "authenticate"
"class" => "Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/security-bundle/Security/LazyFirewallContext.php"
"line" => 60
"function" => "__invoke"
"class" => "Symfony\Component\Security\Http\Firewall\AbstractListener"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php"
"line" => 77
"function" => "__invoke"
"class" => "Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/security-http/Firewall.php"
"line" => 92
"function" => "callListeners"
"class" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/event-dispatcher/Debug/WrappedListener.php"
"line" => 118
"function" => "onKernelRequest"
"class" => "Symfony\Component\Security\Http\Firewall"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/event-dispatcher/EventDispatcher.php"
"line" => 230
"function" => "__invoke"
"class" => "Symfony\Component\EventDispatcher\Debug\WrappedListener"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/event-dispatcher/EventDispatcher.php"
"line" => 59
"function" => "callListeners"
"class" => "Symfony\Component\EventDispatcher\EventDispatcher"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php"
"line" => 154
"function" => "dispatch"
"class" => "Symfony\Component\EventDispatcher\EventDispatcher"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/http-kernel/HttpKernel.php"
"line" => 139
"function" => "dispatch"
"class" => "Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/http-kernel/HttpKernel.php"
"line" => 75
"function" => "handleRaw"
"class" => "Symfony\Component\HttpKernel\HttpKernel"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/http-kernel/Kernel.php"
"line" => 202
"function" => "handle"
"class" => "Symfony\Component\HttpKernel\HttpKernel"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
"line" => 35
"function" => "handle"
"class" => "Symfony\Component\HttpKernel\Kernel"
"type" => "->"
]
[
"file" => "/var/www/html/courier/vendor/autoload_runtime.php"
"line" => 35
"function" => "run"
"class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
"type" => "->"
]
[
"file" => "/var/www/html/courier/public/index.php"
"line" => 5
"args" => [
"/var/www/html/courier/vendor/autoload_runtime.php"
]
"function" => "require_once"
]
]
|
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
| Key | Value |
|---|---|
| APP_ENV | "dev" |
| APP_SECRET | "bd88013a2f16de1b609593eeee247d2d" |
| CORS_ALLOW_ORIGIN | "*" |
| DATABASE_URL | "mysql://root:!Mirage2023@127.0.0.1:3306/courier?serverVersion=8&charset=utf8mb4" |
| JWT_PASSPHRASE | "mirage" |
| JWT_PUBLIC_KEY | "%kernel.project_dir%/config/jwt/public.pem" |
| JWT_SECRET_KEY | "%kernel.project_dir%/config/jwt/private.pem" |
| MESSENGER_TRANSPORT_DSN | "doctrine://default" |
Defined as regular env variables
| Key | Value |
|---|---|
| APP_DEBUG | "1" |
| CONTENT_LENGTH | "560" |
| CONTENT_TYPE | "application/json" |
| CONTEXT_DOCUMENT_ROOT | "/var/www/html/courier/public" |
| CONTEXT_PREFIX | "" |
| DOCUMENT_ROOT | "/var/www/html/courier/public" |
| GATEWAY_INTERFACE | "CGI/1.1" |
| HTTPS | "on" |
| HTTP_ACCEPT_ENCODING | "gzip,deflate" |
| HTTP_CACHE_CONTROL | "no-store" |
| HTTP_HOST | "sys.nenocourier.co.ke" |
| HTTP_SOAPACTION | ""ConfirmC2BPayment"" |
| HTTP_TRACEPARENT | "00-65cf9357aca3422caf66ff3e8e374e36-74cabb55b7f8ae15-00" |
| HTTP_TRACESTATE | "265f7333-c11c5b27@dt=fw4;4;89a7823f;4f684e1;1;1;0;1c6;8985;2h01;3h89a7823f;4h04f684e1;5h01;6h65cf9357aca3422caf66ff3e8e374e36;7h74cabb55b7f8ae15" |
| HTTP_USER_AGENT | "Apache-HttpClient/4.5.2 (Java/1.8.0_361)" |
| HTTP_X_DYNATRACE | "FW4;-1055106265;4;-1985510849;83264737;-2147483647;643789619;454;8985;2h01;3h89a7823f;4h04f684e1;5h01;6h65cf9357aca3422caf66ff3e8e374e36;7h74cabb55b7f8ae15" |
| HTTP_X_ENVOY_ATTEMPT_COUNT | "1" |
| HTTP_X_ENVOY_EXPECTED_RQ_TIMEOUT_MS | "300000" |
| HTTP_X_FORWARDED_FOR | "10.184.20.30" |
| HTTP_X_FORWARDED_PROTO | "https" |
| HTTP_X_REQUEST_ID | "9e628e44-13c0-4f3e-9268-04dd806698ee" |
| PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/snap/bin" |
| PHP_SELF | "/index.php" |
| QUERY_STRING | "" |
| REMOTE_ADDR | "196.201.214.200" |
| REMOTE_PORT | "55662" |
| REQUEST_METHOD | "POST" |
| REQUEST_SCHEME | "https" |
| REQUEST_TIME | 1763485137 |
| REQUEST_TIME_FLOAT | 1763485137.9606 |
| REQUEST_URI | "/payment/callback/paybill" |
| SCRIPT_FILENAME | "/var/www/html/courier/public/index.php" |
| SCRIPT_NAME | "/index.php" |
| SCRIPT_URI | "https://sys.nenocourier.co.ke/payment/callback/paybill" |
| SCRIPT_URL | "/payment/callback/paybill" |
| SERVER_ADDR | "144.126.155.156" |
| SERVER_ADMIN | "[no address given]" |
| SERVER_NAME | "sys.nenocourier.co.ke" |
| SERVER_PORT | "443" |
| SERVER_PROTOCOL | "HTTP/1.1" |
| SERVER_SIGNATURE | "<address>Apache/2.4.58 (Ubuntu) Server at sys.nenocourier.co.ke Port 443</address>\n" |
| SERVER_SOFTWARE | "Apache/2.4.58 (Ubuntu)" |
| SSL_TLS_SNI | "sys.nenocourier.co.ke" |
| SYMFONY_DOTENV_VARS | "APP_ENV,APP_SECRET,MESSENGER_TRANSPORT_DSN,DATABASE_URL,JWT_SECRET_KEY,JWT_PUBLIC_KEY,JWT_PASSPHRASE,CORS_ALLOW_ORIGIN" |