The function of the "update payment" updates the payment details in an invoice that has already been submitted to I.A.P.R. and has a MArK. To make the "update payment" call, you must first make the POST:POS transaction (unlock the POS Payment).
Once we have the MArK of the invoice that we have submitted, as well as the providerSignature, posInput, and transactionId (from the POST:POS transaction), we proceed with an HTTP POST request to the following endpoint along with the parameters. This results in updating the POS payment details in AADE.POST Domain/Invoice/updatePayment Delayed POS Payment procedure diagram#
Steps Description#
Get MARK from the existing debit invoice (Invoice has already been issued and submitted to IAPR at an earlier time within the same day with payment method different to “7” (see IAPR payment method table)
Calls IMPACT (/PosTransactions/signpos)
Return response message (Response includes Provider Signature & input)
Receives & store Provider Signature
Call NSP(See NSP’s documentation for further information)
POS communicates with NSP & Acquirer
Response message with information about succeed or failed transaction.
In case of Successful transaction, NSP provides transactionId.
In case of failure transaction, the flow starts from the beginning (1. ERP)
Receives transactionId from NSP / POS (See NSP’s documentation for further information)
Already holds Provider Signature & input (2. IMPACT)
Calls IMPACT’s API (/Invoice/updatePayment), including payment methods, transactionId, provider signature, input, MARK etc.
Sends Payment Info to IAPR
Return Response with payment MARK
Parameters#
Name | Description | Type | Location |
---|
APIKey | API Access Key | string | Header |
Authorization | Authorization Request | string | Header (Optional) |
Request JSON Body#
"entityVatNumber": "string",
"paymentMethods": [
{ "paymentMethodId": "PM_1",
"paymentMethodType": "Bank Deposit",
"paymentMethodTypeCode": 3,
"amount": 16,
"transactionId": "123ABCxyz456",
"cardNumber": "**** *** **** *** 1234",
"remarks": "Credited on customer XXX",
"stan": "207535",
"rrn": "30900820735",
"ttc": "string",
"aid": "A0000000041010",
"auth": "207535",
"applicationLabel": "Debit Mastercard",
"contactless": true,
"tipAmount": 1.8,
"providersSignature":"o0094r3Yk3KTqASLkW3evlDsnIg/ZAdUUf6UCXDtjqpI/dquzAT4WNX3yzS/GLciVNbT75H4pj8hLOV0EpHtzw==",
"ecrToken":"o0094r3Yk3KTqASLkW3evlDsnIg/ZAdUUf6UCXDtjqpI/dquzAT4WNX3yzS/GLciVNbT75H4pj8hLOV0EpHtzw==",
"posInput":"AD33729F4ED749928AAFA00B90EE4EA91551BAC1;;20231204080313;1051;10000;2400;12400;POS_1",
"terminalId": "string"
} ] }
Data types of previous json model#
Name | Type | Requirement | Description |
---|
mark | Long | Mandatory | Unique number of document (of previous issued credit/debit document) |
EntityVatNumber | String | Mandatory | Issuer VAT number |
paymentMethodTypeCode | Number | Mandatory | Payment method type code based on IAPR Documentation |
Amount | Number | Mandatory | Payable amount |
TransactionId | String | Mandatory | Unique payment ID (provided by NSP) |
TipAmount | Number | Optional | |
providersSignature | String | Mandatory | Unique provider signature (provided by Impact) |
posInput | String | Mandatory | Unique payment ID (provided by Impact) |
terminalId | String | Mandatory | Code of POS terminal |
Responses#
Code | Description | Media Type | Details |
---|
200 | Success | application/json | Message describing the status of the request |
Example response JSON body (for 200 - Success):{
"success": true,
"message": "Message describing the status of the request"
}
Modified at 2025-04-16 10:38:30