Purpose
This method initiates the beginning of the pre-authorization process for a customer (purchase). However, the customer will remain within the pages of the external application. All needed data (incl. payment card details) will be collected and submitted to myPOS Checkout API by the external application. The method can be used both for a recurring transaction with an already stored card or for an initial card payment. The myPOS Checkout API will return an XML with the result.
Please NOTE:
In order to use this method you should comply with PCI SAQ-D requirements. Since all the cardholder data is processed on your side, you should also take care of the communication with the issuing bank's ACS. For that purpose, we recommend using an MPI plugin for 3D Secure communication.
myPOS Checkout API will check for:
- Valid myPOS Account number (also referred to as Client number)
- Valid Checkout Store ID corresponding with this myPOS Account number
- Valid status of the Checkout (enabled)
- Valid Currency and Amount
- Valid KeyIndex & corresponding Signature
- Valid OrderID
Method properties
Property |
Typical value |
Type |
Required |
Description |
---|---|---|---|---|
OrderID |
20120331999999 |
String |
YES |
Placeholder for the merchant. Used to put some data that will help the merchant to recognize for which order is the payment. Up to 80 characters. |
Amount |
23.45 |
Double |
YES |
The amount of the payment requested. |
Currency |
EUR |
A(3) |
YES |
ISO 3-character currency code. The currency for the payment should be registered and approved. |
SID |
000000000000010 |
String |
YES |
Store ID (SID) - Reference number for the Merchant Checkout in the myPOS system |
WalletNumber |
61938166610 |
String |
YES |
myPOS Client Number |
KeyIndex |
1 |
Int |
YES |
Indicates which key pair is being used. |
PAN |
Byte[] |
BASE64 |
Conditional |
Conditional. PAN is required when CardToken is not provided in the request. |
CardholderName |
John Smith |
String (30) |
Conditional |
Conditional. CardholderName is required when CardToken is not provided in the request. |
ExpDate |
Byte[] |
BASE64 |
Conditional |
Conditional. ExpDate is required when CardToken is not provided in the request. |
CVC |
Byte[] |
BASE64 |
Conditional |
Conditional. CVC is required when CardToken is not provided in the request. |
ECI |
6 |
N(1) |
Conditional |
Conditional. ECI is required when CardToken is not provided in the request. |
AVV |
Byte[] |
BASE64 |
Conditional |
Conditional. AVV is required when CardToken is not provided in the request and the card is 3DS enabled. |
XID |
Byte[] |
BASE64 |
Conditional |
Conditional. AVV is required when CardToken is not provided in the request and the card is 3DS enabled. |
CardToken |
Byte[] |
BASE64 |
Conditional |
Conditional. The CardToken is required when the card is already stored and no additional data is sent for the card within the request. |
AccountSettlement |
11111111119 |
N(11) |
NO |
Account for payment settlement |
Note |
|
String |
NO |
Text associated with the purchase. |
ItemName |
HP ProBook 6360b sticker |
String |
YES |
The item for which the authorization is being issed. |
Response properties
Property |
Typical value |
Type |
Description |
---|---|---|---|
Amount |
23.45 |
Double |
Echo from IPCIAPreAuthorization |
Currency |
EUR |
A(3) |
Echo from IPCIAPreAuthorization |
OrderID |
201203319999999 |
string |
Echo from IPCIAPreAuthorization |
IPC_Trnref |
12345678923 |
String |
Used to uniquely identify a transaction in IPC. Used as a parameter for subsequent refund of reversal if needed. |
Example of the xml response
<IPC_response>
<IPCmethod>IPCIAPreAuthorization</IPCmethod>
<Amount>50</Amount>
<Currency>USD</Currency>
<Status>0</Status>
<StatusMsg>Success</StatusMsg>
<Signature>b4sEVS+HKsUac3iwzYjl8PKrrPC19kuz+cNjWfo/+LmyWM6JXK9BoTwNcXrsVo/jOQORdT2ui0ZqwnbyNVckYq1QZdnMQvsz2Xzph3PSO8gNCm/OiqKb0uYDkYXbF/HaIm9iw51hX7p92xg/9g0lApexbuO1bUEGzBIkrZRelH0=</Signature>
</IPC_response>