Purchase Method

Define the Flow and Logic of Your Payment Process

Purpose

This method initiates the beginning of the payment process for a customer. The customer is placed on a page that requests entering payment card details.

myPOS Checkout API will check for:

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

Method Properties

Please note all properties must be in PascalCase!

PropertyTypical valueTypeRequiredDescription
Amount23.45DoubleYESThe amount of the payment requested.
CurrencyEURA(3)YESISO 3-character currency code. The currency for the payment should be registered and approved.
OrderID20120331999999StringYESPlaceholder 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.
SID000000000000010StringYESStore ID (SID) - Reference number for the Merchant Checkout in the myPOS system
WalletNumber61938166610StringYESmyPOS Client Number
KeyIndex1IntYESIndicates which key pair is being used.
URL_OKhttp://site.ext/paymentOKStringYESThe page where the cardholder should be redirected on successful payment.
URL_Cancelhttp://site.ext/paymentNOKStringYESThe page where the cardholder should be redirected when Cancel is pressed on the payment page.
URL_Notify*https://site.ext/paymentNotifyStringYESAddress supplied by the partner, where the IPCPurchaseNotify API call will send the parameters for the successful payment.
PaymentMethod1StringNO

If the PaymentMethod property is not set, the customer is redirected to a myPOS Hosted Payment Page displaying all payment methods supported by myPOS Checkout.
Supported values

ValuePayment Method behaviour
1Redirects the customer to a CARD-only checkout
2Redirects the customer to an iDEAL checkout
3Redirects the customer to a checkout where all available payment methods are shown
4Redirects the customer to a Satispay checkout
5Redirects the customer to a TWINT checkout
6Redirects the customer to an IRIS checkout

Multiple payment methods: to enable multiple specific payment methods, you must provide the values as a comma-separated list.
Example: PaymentMethod=1,2,6 This configuration will display CARD, iDEAL, and IRIS as available payment options on the checkout page.

CardTokenRequest0N(1)YES0 – Do not request a payment card token.
1 – Store new card and request a token. Not applicable if PaymentMethod = 2. Disables PaymentMethod = 3
2 – Pay with a card and request a token. Not applicable if PaymentMethod = 2. Disables PaymentMethod = 3.

Token will be available in IPCPurchaseNotify callback.
PaymentParametersRequired1N(1)YES1- Full request (All parameters described as conditional are required in the request. The client will not be able to edit them on the payment page.)
2 – Simplified request (All parameters described as conditional are not required in the request. The client will be forced to fill them in on the payment page.)
3 – Simplified request & Simplified payment page (All parameters described as conditional are not required in the request. On the payment page the client will see and fills in only the payment card details.)
CustomerEmailname@website.comStringConditionalConditional. The parameter is required when PaymentParametersRequired = 1. This is a customer’s email.
CustomerPhone+23568956958StringNOThis is a customer’s phone.
CustomerFirstNamesJohn SantamariaStringConditionalConditional. The parameter is required when PaymentParametersRequired = 1. All customer’s names without the surname.
CustomerFamilyNameSmithStringConditionalConditional. The parameter is required when PaymentParametersRequired = 1. The customer’s surname.
CustomerCountryDEUStringNOISO3 country code
CustomerCityHamburgStringNO
CustomerZIPCode20095StringNO
CustomerAddressKleine Bahnstr. 41StringNOCustomer’s address.
AccountSettlement11111111119N(11)NOAccount for payment settlement.
expires_in86400.00DoubleNOCustom set time (in seconds) how long the session lifetime should be for the payment page (86400.00 seconds = 24 hours)
NoteStringNOText associated with the purchase.
CartItems2IntConditionalThe 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.
CartLogical HolderLogical RecordConditionalArray provided by the Merchant. The array describes the content of the shopping cart. The content will be displayed on the myPOS Checkout API payment page.
Delivery5DoubleNOYou can specify your delivery price.

NOTE: The URL_Notify URL should be SSL-enabled address only (i.e. it must start with "https://"). Unsecured URLs will cause a communication error.

URLs must not have the port specified.

Same OrderID is used for the request of a partner, except in a case where the order has been marked as paid. Then OrderID is a unique identifier and myPOS Checkout API will reject duplicated transmission.

Cart Logical Record

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

PropertyTypical valueTypeDescription
ArticleHP ProBook 6360b stickerStringName of an article in the shopping cart.
Quantity2IntHow many pieces of an article.
Price2.34DoublePrice of a single unit.
Amount4.68DoubleQuantity*Price for the article.
CurrencyEURA(3)Should be the same currency as in the purchase amount.

Partner Identification

If you are part of our Partners Program, you will need to submit these two additional parameters with each of your requests to the API. This will provide you with analytics about the usage in your myPOS Partners Portal account and help our support teams assist you better.

Note - This requires you to set the API version of your requests to 1.4.1. No other changes in the code/requests are necessary.

PropertyTypical valueTypeDescription
PartnerIDmps-p-XXXXXXXXStringIdentical number for the partner
ApplicationIDmps-app-XXXXXXXXStringIdentical number for the application

Example Request

IPCmethod=IPCPurchase&
IPCVersion=1.4&
IPCLanguage=EN&
SID=000000000000010&
walletnumber=61938166610&
Amount=20.55&
Currency=EUR&
OrderID=1600091872&
URL_OK=https://site.ext/paymentOK&
URL_Cancel=https://site.ext/paymentNOK&
URL_Notify=https://site.ext/paymentNotify&
CardTokenRequest=0&
KeyIndex=1&
PaymentParametersRequired=1&
PaymentMethod=1&
customeremail=name@website.com&
customerfirstnames=John Santamari&
customerfamilyname=Smith&
customerphone=+359888222333&
customercountry=DEU&
customercity=Hamburg&
customerzipcode=20095&
customeraddress=Kleine Bahnstr. 41&&
Note=Some note here &
Source=&
CartItems=2&
Article_1=HP ProBook 6360b sticker &
Quantity_1=2&
Price_1=10&
Currency_1=EUR&
Amount_1=20&
Article_2=Discount&
Quantity_2=1&
Price_2=-3.45&
Currency_2=EUR&
Amount_2=-3.45&
delivery=4&
Signature=UzvTG8AKhBHsZQ6x+SjWlgZp8pAkJgMmQLYq/Pbs4a9znL4xaKEaGV82IzZjF+2UAQynjSAmHeVpJZT7R8q3lzQwKk9gmY8iDWsmig7NMPDK1Bqo3Zvrd64lCUpo19wy6kNLTljRUJ8eFqOJStTHP3TBZSnbEH5yGSjUXTMTfL0=