Redirect to E-Wallet
The payment process starts with the customer choosing to pay with an E-Wallet account on your checkout page.
Please ensure to format all numbers using the user's browser locale. For example, a user with en-US will use a "dot" as the decimal separator, whereas de-DE shall be interpreted using a "comma" as the decimal separator.
The "E-Wallet"-button sends a POST request containing a hidden form content and navigates the customer's browser away from the Merchant to the E-Wallet Portal, where the customer securely completes the payment. This is done without any prior user authentication with the E-Wallet, or API User authentication with the KontoCloud Web API.
To ensure high level of trust between the user and the chosen payment method, the user should see that they have been securely navigated away to the E-Wallet Portal. Therefore, framesets or iFrames that obscure this redirection should not be used.
The hidden form content contains various payment information such as the "merchantAccno" and the "orderItems". The example below shows the hidden form for a standard payment of one "Ladies T-Shirt" for 25.00 € and one "Ladies Pants" for 55.00 €.
Hidden Form Example
<form action="https://{E-Wallet-Portal-Base-URL}/Payment" method="post">
<input name="callBackUrl" value="http://example.com/Checkout/Confirmation" type="hidden">
<input name="merchantTransactionId" value="CHECKOUT-Kl3n9Sdw54pf" type="hidden">
<input name="paymentType" value="Standard" type="hidden">
<input name="merchantAccno" value="MERCHANT-DE4321" type="hidden">
<input name="currencyCode" value="EUR" type="hidden">
<input name="orderItems[0].description" value="Ladies T-Shirt" type="hidden">
<input name="orderItems[0].price" value="25,00" type="hidden">
<input name="orderItems[0].count" value="1" type="hidden">
<input name="orderItems[1].description" value="Ladies Pants" type="hidden">
<input name="orderItems[1].price" value="55,00" type="hidden">
<input name="orderItems[1].count" value="1" type="hidden">
<div>
<button>Pay With E-Wallet Account</button>
</div>
</form>
The "callbackUrl" must be provided to our Product Solution Specialist in order to be whitelisted.
As earlier mentioned, the decimal separator must be conform to the customer's browser locale. A "de-DE" locale setting requires a comma as decimal separator (see parameter "orderItems.price" in the example above).
It is important to distinguish between the two payment types "Standard" and "BlockAmount" (see parameter "paymentType"). A standard payment directly debits the specified amount from E-Wallet account and credits it to the Merchant Account, whereas a blocked payment solely blocks the amount for a later Release. Further details are provided in the following section Customer Payment.
The table below shows a detailed description of all possible parameters.
Parameter | Mandatory | Description | Data Type | Length |
---|---|---|---|---|
callbackUrl | yes | URL to the page were the User must be redirected after the Payment. This must be communicated previously to our Product Solution Specialist in order to be whitelisted. | String | 255 |
merchantTransactionId | yes | Identifier of the Payment inside the Merchant System. | String | 64 |
paymentType | no | Type of the payment. The following values are valid: "Standard", "BlockAmount". If no value is posted, then "Standard" is used as the default one. | String | 15 |
merchantAccno | yes | Merchant Account Number. | String | 255 |
currencyCode | yes | Payment Currency Code. | String | 3 |
orderItems: description, price, count | yes | List of the Payment Order Description of the Position Price per Position Item Count of Position Items. | Array: String, Decimal, Numeric | 255, 18/2, 5 |
emailAddress | no | Customer Email Address. | String | 255 |
title | no | Customer Title. | String | 2 |
firstName | no | Customer First Name. | String | 100 |
lastName | no | Customer Last Name. | String | 100 |
dob | no | Customer Date of Birth | YYYY-MM-DD | 10 |
countryCode | no | Customer Country ISO2 or ISO3 Code. | String | 3 |
street | no | Customer Street. | String | 60 |
houseNumber | no | Customer House Number. | String | 10 |
city | no | Customer Street. | String | 50 |
state | no | Customer State. | String | 50 |
postcode | no | Customer Postal Code. | String | 10 |
mobilePhone | no | Customer Mobile Phone. | String | 30 |