IPCPurchaseNotify
Server-to-Server Payment Notification
Purpose
This method is used by myPOS Checkout API to notify the merchant of a successful payment and to pass all needed parameters for the payment on URL_Notify. After a successful response for this method, myPOS Checkout will redirect the customer browser to URL_OK and will pass the same parameters with the IPCPurchaseOK method.
Do not use IPCPurchaseOK to authorize a payment because it is not a server-to-server connection and it is not always guaranteed to receive a response. In this case, you should use IPCPurchaseNotify.
Method Properties
| Property | Typical value | Type | Description |
|---|---|---|---|
| Amount | 23.45 | Double | Conditional. Echo from IPCPurchase. |
| Currency | EUR | A(3) | Echo from IPCPurchase. |
| OrderID | 201203319999999 | String | Echo from IPCPurchase. |
| IPC_Trnref | 12345678923 | String | Used to uniquely identify a transaction in IPC. Used as a parameter for a subsequent refund or reversal if needed. |
| RequestDateTime | 2012-03-31 23:59:59 | DateTime | Date/time of the request |
| RequestSTAN | 123456 | N(6) | Consequent number from 1 to 999999. Used for request unique match. |
| CardToken | Byte[] | BASE64 | Conditional. Returned when the card is stored (depending on CardTokenRequest). |
| PAN | 4885 | N(4) | Conditional. Last four digits of the account number (PAN). |
| ExpDate | 1703 | N(4) | Conditional. Card expiry date. |
| CardType | 1 | N(1) | Conditional. Card type. |
| CustomerEmail | name@website.com | String | Conditional. When PaymentParametersRequired = 1; 2 |
| CustomerPhone | +23568956958 | String | Conditional. When PaymentParametersRequired = 1; 2 |
| CustomerFirstNames | John Santamaria | String | Conditional. When PaymentParametersRequired = 1; 2 |
| CustomerFamilyName | Smith | String | Conditional. When PaymentParametersRequired = 1; 2 |
| BillingDescriptor | MYPOS *BillingDescriptor | String | Identifying text that appears on a customer's credit or debit card statement. |
| Signature | Byte[] | BASE64 | SHA-256 HASH for all properties in the command. Signature is ALWAYS THE LAST PARAMETER IN THE POST. |
Response
Upon HTTP request, the party should respond with header HTTP 200 OK and body content:
Every other response will be treated as a communication error, call error, server error or system malfunctions.
Example HTTP POST
POST /somescript.php HTTP/1.1
Host: www.somesite.com
User-Agent: Mozilla/4.0
Content-Length: 39
Content-Type: application/x-www-form-urlencoded
userid=joe&password=guessme&user_type=1
Example Result POST Data
{
"IPCmethod": "IPCPurchaseNotify",
"SID": "000000000000010",
"Amount": "50",
"Currency": "EUR",
"OrderID": "1440146333",
"IPC_Trnref": "813705",
"RequestSTAN": "000006",
"RequestDateTime": "2015-08-21 10:39:37",
"Signature": "aPn96fYghN/hdLgP0oGbCglBACwJlG6TSlf7UJP9Qe9UMzBP9+B5r7enaLZNAWAHaws7iZH9INgQrHbnn/IaIKFYzjWLHqCQm2xYPF4IAbIn5MC9UjfUXyMxZ42ENVx/Poeq0ZH1Zd34j2qbFJ8tViawUjey5BZRIeJaEmQr3ww="
}