Purpose

This method initiates the beginning of the payment 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 that in order to use this method without a tokenized card, 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.

 

As an alternative, you may tokenize a card using IPCPurchase and adding CardTokenRequest = 1. Then call IPCIAPurchase from within your app with the card token as a parameter.

 

myPOS Checkout will check for:

  • Valid myPOS Account number (also referred to as Client or Wallet number)
  • Valid Online Store ID corresponding with this myPOS Account number
  • Valid status of the Online Store (enabled)
  • Valid currency and total amount
  • Valid KeyIndex & corresponding Signature 

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 255 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 Store in the myPOS system

WalletNumber

61938166610

String

YES

The myPOS Account Number also reffered as Client Number

KeyIndex

 1

Int

YES

Indicates which key pair is being used.

CardType

1

N(1)

Conditional

Conditional.

CardType is required when CardToken is not provided in the request. Please refer to Appendix IV.

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.

CartItems

2

Int

YES

The number of rows (items) in the logical record Cart.

If there will be some additional fees/taxes for the cardholder, they need to be added as new items.

Cart

Logical Holder

Logical Record

YES

Array provided by the Merchant. The array describes the content of the shopping cart. The content will be displayed on the myPOS Checkout payment page.

OutputFormat

xml

String

NO

Output format of data. The property can be “xml” or “json”. If it is not specified in the request, the default value is “xml”.

Cart Logical Record

Cart logical record consists of standard POST parameters with the form name=value. For each consequent item, an index is added that shows the logical record number for the item (ex. Atricle_1). Indexes are from 1 to <CartItems>.

Property

Typical value

Type

Description

Article

HP ProBook 6360b sticker

String

Name of an article in the shopping cart.

Quantity

2

Int

How many pieces of an article.

Price

2.34

Double

Price of a single unit.

Amount

4.68

Double

Quantity*Price for the article.

Currency

EUR

A(3)

Should be the same currency as in the purchase amount.

Response properties

Property

Typical value

Type

Description

Amount

23.45

Double

Echo from IPCIAPurchase

Currency

EUR

A(3)

Echo from IPCIAPurchase

OrderID

201203319999999

string

Echo from IPCIAPurchase

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>IPCIAPurchase</IPCmethod>

<IPC_Trnref>1484134559</IPC_Trnref>

<Amount>50</Amount>

<Currency>USD</Currency>

<Status>0</Status>

<StatusMsg>Success</StatusMsg>

<Signature>b4sEVS+HKsUac3iwzYjl8PKrrPC19kuz+cNjWfo/+LmyWM6JXK9BoTwNcXrsVo/jOQORdT2ui0ZqwnbyNVckYq1QZdnMQvsz2Xzph3PSO8gNCm/OiqKb0uYDkYXbF/HaIm9iw51hX7p92xg/9g0lApexbuO1bUEGzBIkrZRelH0=</Signature>

</IPC_response>