Report SDK Result
Requires
matm
Signed request
Counts toward your 60 req/min
Tell us what the SDK returned on the phone — send PayonclickMatmResult.toReportJson()
Body Params
| Name | Type | Description |
|---|---|---|
| reference_id required | path | From POST /transactions |
| status required | bool|string | The SDK’s TRANS_STATUS (true / false), or "CANCELLED" / "NO_RESPONSE" when the SDK gave no result |
| message optional | string | MESSAGE |
| response_code optional | string | RESPONSE_CODE (or STATUS_CODE) |
| rrn optional | string | RRN |
| provider_txn_id optional | string | The provider transaction id (PayonclickMatmResult.providerTxnId) |
| card_number optional | string | CARD_NUM (masked by the SDK) |
| card_type optional | string | CARD_TYPE |
| bank_name optional | string | BANK_NAME |
| balance optional | number | BALANCE_AMOUNT |
| terminal_id optional | string | TERMINAL_ID |
| device optional | string | The card reader model |
| device_serial optional | string | The card reader serial number |
| mini_statement optional | array | MS: the LIST rows as {date, txnType, amount, narration} |
Responses
| Status | Description |
|---|---|
| 200 OK | Tell us what the SDK returned on the phone — send PayonclickMatmResult.toReportJson() — see the example on the right. |
| 4xx / 5xx | { "success": false, "error": { "code": "…", "message": "…" } } —
every code is listed under
Error Codes. |
This call must be signed
POST carries an X-Signature header over
POST\n/ext/v1/matm/transaction/{reference_id}/result\n{TIMESTAMP}\n{BODY_SHA256}.
The samples on the right compute it for you; the rules are in
Request Signing.
Good to know
Always report, also when the SDK was cancelled or returned nothing — it is what support reads in a dispute. A reported true keeps the transaction PENDING until the bank network confirms it; a reported failure makes it FAILED, and if the bank network later confirms it anyway, it still becomes SUCCESS and is credited. A report on a transaction that is already final answers recorded: false.