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

PropertyTypical valueTypeDescription
Amount23.45DoubleConditional. Echo from IPCPurchase.
CurrencyEURA(3)Echo from IPCPurchase.
OrderID201203319999999StringEcho from IPCPurchase.
IPC_Trnref12345678923StringUsed to uniquely identify a transaction in IPC. Used as a parameter for a subsequent refund or reversal if needed.
RequestDateTime2012-03-31 23:59:59DateTimeDate/time of the request
RequestSTAN123456N(6)Consequent number from 1 to 999999. Used for request unique match.
CardTokenByte[]BASE64Conditional. Returned when the card is stored (depending on CardTokenRequest).
PAN4885N(4)Conditional. Last four digits of the account number (PAN).
ExpDate1703N(4)Conditional. Card expiry date.
CardType1N(1)Conditional. Card type.
CustomerEmailname@website.comStringConditional. When PaymentParametersRequired = 1; 2
CustomerPhone+23568956958StringConditional. When PaymentParametersRequired = 1; 2
CustomerFirstNamesJohn SantamariaStringConditional. When PaymentParametersRequired = 1; 2
CustomerFamilyNameSmithStringConditional. When PaymentParametersRequired = 1; 2
BillingDescriptorMYPOS *BillingDescriptorStringIdentifying text that appears on a customer's credit or debit card statement.
SignatureByte[]BASE64SHA-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="
}