Purpose
The method IPCPurchaseByIcard enables the iCard Mobile application checkout on a myPOS merchant's website. This means that an iCard Mobile user can pay to a myPOS merchant who has integrated this method on the website. Upon selection of iCard Mobile as a payment method on the merchant's website, the customer will see an info screen and will instantly receive a notification for payment on the mobile device where iCard Mobile is installed and running. Customer must confirm the payment on their mobile device. No further interaction on the merchant's website is needed. After the payment is completed/rejected, the customer will be informed of the result on the merchant's website and in the mobile app.
myPOS Checkout API will check for:
- Valid myPOS Account number (also referred to as Client number) – where the money will be settled
- Valid Checkout Store ID corresponding with this myPOS Account number
- Valid status of the Checkout (enabled)
- Valid currency and total amount
- Valid Key Index & corresponding Signature
- Valid customer e-mail or phone number enrolled with iCard mobile
Method properties
Property |
Typical value |
Type |
Required |
Description |
---|---|---|---|---|
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. |
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. |
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. |
URL_OK |
http://site.ext/paymentOK |
String |
YES |
The page where the cardholder should be redirected on successful payment. |
URL_Cancel |
http://site.ext/paymentNOK |
String |
YES |
The page where the cardholder should be redirected when <Cancel> is pressed on the payment page. |
URL_Notify* |
https://site.ext/paymentNotify |
String |
YES |
Address supplied by the partner, where the IPCPurchaseNotify API call will send the parameters for the successful payment. |
CustomerEmail |
name@website.com |
String |
Conditional |
Conditional. The parameter is required when CustomerPhone is not provided This is a customer’s email. |
CustomerPhone |
+23568956958 |
String |
Conditional |
The parameter is required when CustomerEmail is not provided Must be in International Phone Numbers Format (E.123): (+)(country code)(client number) |
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 API payment page. |
* The URL_Notify URL should be SSL-enabled address only (i.e. it must start with "https://"). Unsecured URLs will be treated as wrong and requests will be unsuccessful.
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>.
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. |
Example
New lines and tabulators are included for better reading and do not exist in the POST request.
IPCmethod= IPCPurchaseByIcardMobile &
IPCVersion=1.3&
IPCLanguage=EN&
SID=000000000000010&
walletnumber=61938166610&
Amount=23.45&
Currency=EUR&
OrderID=20120331999999&
URL_OK=http://site.ext/paymentOK&
URL_Cancel=http://site.ext/paymentNOK&
URL_Notify=https://site.ext/paymentNotify&
KeyIndex=1&
customeremail=name@website.com&
customerfirstnames=John Santamaria&
customerfamilyname=Smith&
customerphone=+23568956958&
customercountry=DEU&
customercity=Hamburg&
customerzipcode=20095&
customeraddress=Kleine Bahnstr. 41&
Note=&
CartItems=2&
Article_1=HP ProBook 6360b sticker&
Quantity_1=2&
Price_1=10&
Currency_1=EUR&
Amount_1=20&
Article_2=Delivery&
Quantity_2=1&
Price_2=3.45&
Currency_2=EUR&
Amount_2=5&
Signature=TuQ6nQJxWJ2T+sM6uzBqYYtOWdw+0ecHaRzujTJChWds/1HWK+kCcfKrAW9sN8xzsRBSZ2zH1uPMMIMgB3XqqHNbq06YhpD3XY/Ltp+ooc8xoq1jdajnUexC5JuDzTslCMKKFmW5vl0HsEkPltyxir0Z5AWpgOZkjqCPEr817/o=