Bancontact/Mister Cash Deposit (via HiPay)
Bancontact, also know as Bancontact/Mistercash till April 2016, is the market leader in electronic payments in Belgium.
The provider for this payment method is Hipay.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
231 | BancontactDeposit | AuthorisedByProvider (13) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
Redirect Integration
Supported as of Sept, 23rd 2020.
Sending some specific customer data is mandatory for this Payment Method as the data is required by the provider. For a redirect integration (Checkout) the following parameters must be provided in the getRedirectDataRequest.redirectParameters.user
section:
Field | value |
---|---|
firstname (string, required) | The customers first name |
lastname (string, required) | The customers last name |
email (string, required) | The customers email address |
address.countryCode2 (string, required) | The country of the customer´s address |
languageCode (string, required) | The main language of the customer |
UseMobileVersion (Boolean) | Optional. Can be provided as "false" to disable the automatic use of the mobile Bancontact version. Details below in chapter Bancontact mobile |
Example Screenshot of the PXP Financial Checkout detail page for a payment with Bancontact, using a new card:
Example Screenshot of the PXP Financial Checkout detail page for a payment with Bancontact, using an already saved card:
Example getRedirectDataRequest
:
<getRedirectDataRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>KalixaAcceptDEMO</merchantID>
<redirectParameters xsi:type="paymentMethodDetailsRedirectParameters">
<shopID>KalixaAcceptDEMO</shopID>
<httpMethod>GET</httpMethod>
<returnUrl>https://google.com/return</returnUrl>
<languageCode>de</languageCode>
<currencyCode>eur</currencyCode>
<countryCode>AT</countryCode>
<user>
<id>TESTBancontact_20200721_0001</id>
<username>TESTBancontact_20200721_0001</username>
<firstname>Test-Firstname</firstname>
<lastname>Test-Lastname</lastname>
<languageCode>EN</languageCode>
<email>[email protected]</email>
<address>
<street>Test-STreet</street>
<houseNumber>10</houseNumber>
<postalCode>113 51</postalCode>
<city>Vienna</city>
<countryCode2>AT</countryCode2>
<telephoneNumber>004691023365</telephoneNumber>
</address>
</user>
<merchantTransactionID>Bancontact-0030</merchantTransactionID>
<grossAmount>10.00</grossAmount>
<expirationTimeSpanInSeconds>3600</expirationTimeSpanInSeconds>
<successUrl>https://google.com/successUrl/</successUrl>
<pendingUrl>https://google.com/pendingUrl</pendingUrl>
<errorUrl>https://google.com/errorUrl</errorUrl>
<cancelUrl>https://google.com/cancelUrl</cancelUrl>
<refusedUrl>https://google.com/refusedUrl</refusedUrl>
<paymentMethodID>231</paymentMethodID>
<isPaymentMethodChangeAllowed>false</isPaymentMethodChangeAllowed>
</redirectParameters>
</getRedirectDataRequest>
After the customer has entered his card details or selected a stored card and has clicked the "Deposit Now" or "Pay Now" button in the PXP Checkout, the customer is redirected to the provider.
By default, the "mobile" version will be used, so a QR code is shown to the customer which he can scan with his banking app and confirm the payment. As a fallback there is also the option to pay manually, see image below.
Example Screenshot of the subsequent page at Provider side for a payment with Bancontact:
If a merchant wants to prevent that a customer can pay using the QR code, then he can send the optional parameter UseMobileVersion
with value false
in the getRedirectData
request.
Then a different page will be shown to the customer to confirm the payment - depending on the bank. In the example below, the customer would now have to enter the PIN code from a HW dongle he holds in hands.
Example Screenshot of the subsequent page at Provider side for a payment with Bancontact, with disabled mobile version (merchant has sent UseMobileVersion
=false
) :
Backend2Backend Integration
The following table contains the fields to be sent in initiatePaymentRequest
:
key (value type, account type, required) | value |
---|---|
userIP (string, required) | The IP of the user |
The following table contains the fields to be sent in initiatePaymentRequest.specificPaymentData
xml section:
key (value type, account type, required) | value |
---|---|
PaymentDescription (string) | Description of the payment |
SuccessPageUrl (string, required) | URL, to which the client will be transferred in case that he confirms the payment |
UseMobileVersion (Boolean) | Optional. Can be provided as "false" to disable the automatic use of the mobile Bancontact version Details below in chapter Bancontact mobile |
Please note that sending data of the user is essential for this Payment Method as the data is sent to provider. The following parameters must be provided in initiatePaymentRequest.userData
xml section:
key (value type, account type, required) | value |
---|---|
Firstname (string, required) | The user’s first name |
Lastname (string, required) | The user’s last name |
Email (string, required) | The user’s email address |
CountryCode2 (string, required) | The user’s country code |
LanguageCode (string, required) | The user’s language code |
Example initiatePaymentRequest
:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>AcceptDemo</merchantID>
<shopID>AcceptDemo</shopID>
<merchantTransactionID>ec9100da-87b9-4735-b61c-96e0dc3570f0</merchantTransactionID>
<paymentMethodID>231</paymentMethodID>
<amount currencyCode="EUR">10.00</amount>
<userID>95cc7384-7417-4173-88a4-bfdd85247c2c</userID>
<userData>
<firstname>Will</firstname>
<lastname>Smith</lastname>
<languageCode>en</languageCode>
<email>[email protected]</email>
<address>
<street>Marxergasse</street>
<houseName xsi:nil="true" />
<houseNumber xsi:nil="true" />
<houseNumberExtension xsi:nil="true" />
<postalCode>1030</postalCode>
<city>Wien</city>
<state>Wien</state>
<countryCode2>BE</countryCode2>
<telephoneNumber>555 1234</telephoneNumber>
</address>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>e564f6ed-cbac-495f-8008-88685a6395a8</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>BancontactDeposit payment: short description</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://merchant.com/result?param1=success?status=success&txnid=payment12345</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>http://merchant.com/result?param1=success?status=exception&txnid=payment12345</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PendingPageUrl</key>
<value>http://merchant.com/result?param1=success?status=pending&txnid=payment12345</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CancelPageUrl</key>
<value>http://merchant.com/result?param1=success?status=cancel&txnid=payment12345</value>
</data>
<data xsi:type="keyStringValuePair">
<key>RefusePageUrl</key>
<value>http://merchant.com/result?param1=success?status=decline&txnid=payment12345</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>CardNumber</key>
<value>5234131094136942</value>
</data>
<data xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>John Doe</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>11</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2027</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CardVerificationCode</key>
<value>111</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse
:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>AcceptDemo</merchantID>
<shopID>AcceptDemo</shopID>
<paymentMethod>
<key>231</key>
<value>BancontactDeposit</value>
</paymentMethod>
<merchantTransactionID>ec9100da-87b9-4735-b61c-96e0dc3570f0</merchantTransactionID>
<paymentID>6c7ba9d6-54f8-408d-8ed4-8c6f455d611c</paymentID>
<userID>95cc7384-7417-4173-88a4-bfdd85247c2c</userID>
<paymentProvider>
<key>132</key>
<value>Hipay</value>
</paymentProvider>
<amount currencyCode="EUR">10.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>5be6f0b3-ea29-4279-baa5-f048e4648408</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2017-03-21T12:56:25.3224938Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://dev.backend.cqrpayments.com/WebMockProviders/HipayFrontend/Index?orderId=1997</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">10</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>1997</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>82067237-71e4-41d2-8417-6e3d836354f3</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>MaskedNumber</key>
<value>************6942</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountOwnerToken</key>
<value>e8b7e264-4469-472a-8304-803e568dbde4</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>11</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2027</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>John Doe</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CardType</key>
<value>Mastercard</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example initiatePaymentRequest
for a subsequent payment:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>BancontactHiPayProviderTesting</merchantID>
<shopID>BancontactHiPayProviderTestingShop1</shopID>
<merchantTransactionID>7493749374937494-17</merchantTransactionID>
<paymentMethodID>231</paymentMethodID>
<amount currencyCode="EUR">12.66</amount>
<userID>BancontactUserUSD</userID>
<userData>
<username xsi:nil="true" />
<firstname>TestFirst</firstname>
<lastname>TestLast</lastname>
<email xsi:nil="true" />
<address>
<street xsi:nil="true" />
<houseName xsi:nil="true" />
<houseNumber xsi:nil="true" />
<houseNumberExtension xsi:nil="true" />
<postalCode xsi:nil="true" />
<city xsi:nil="true" />
<state xsi:nil="true" />
<countryCode2>BE</countryCode2>
<telephoneNumber xsi:nil="true" />
</address>
<dateOfBirth>1988-06-07T09:12:23</dateOfBirth>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>094e9e9c-9544-4432-a2f8-30877df893b31</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://google.com?success&txnid=14863832110658581</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>http://google.com?exception&txnid=14863832110658581</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PendingPageUrl</key>
<value>http://google.com?q=pending&txnid=14863832110658581</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CancelPageUrl</key>
<value>http://google.com?q=cancel&txnid=14863832110658581</value>
</data>
<data xsi:type="keyStringValuePair">
<key>RefusePageUrl</key>
<value>http://google.com?q=refused&txnid=14863832110658581</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>provider testing</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
</specificPaymentData>
<paymentAccountID>5765ad36-93ea-4327-a82e-21</paymentAccountID>
</initiatePaymentRequest>
Example initiatePaymentResponse
for a subsequent payment:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>BancontactHiPayProviderTesting</merchantID>
<shopID>BancontactHiPayProviderTestingShop1</shopID>
<paymentMethod>
<key>231</key>
<value>BancontactDeposit</value>
</paymentMethod>
<merchantTransactionID>7493749374937494-18</merchantTransactionID>
<paymentID>9f38222f-cb7d-4cea-a144-288e2d01339b</paymentID>
<userID>BancontactUserUSD</userID>
<paymentProvider>
<key>132</key>
<value>Hipay</value>
</paymentProvider>
<amount currencyCode="EUR">12.66</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>62c9fb31-9f29-4b58-9e4b-20548d412434</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2017-05-30T14:03:00.4019304Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>https://stage-secure-gateway.hipay-tpp.com/gateway/forward/7f0cefa2c63c4e4143107db65a588a18</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">12.66</baseAmount>
<paymentDetails xsi:nil="true"/>
<paymentAccount>
<paymentAccountID>5765ad36-93ea-4327-a82e-21</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Bancontact mobile
By default the Bancontact mobile flow is initiated as described below.
The mobile version works differently depending on the device that the customer is using.
Web Device
If the customer uses a desktop for his payment (not a mobile or tablet device), then he will be redirected to a Bancontact screen where he is presented with a QR code. He needs to open his banking app on his mobile phone and scan the code presented on the screen to confirm the payment.
Mobile Device
If the customer uses a mobile device for his payment (mobile or tablet ), then he will be redirected to a Bancontact screen where he can choose to pay with his app or with the card.
The user is redirected to following page on a mobile device:
These screenshots are generated on the sandbox/test environment of Hipay. The actual view in production may vary.
When clicking the first button, the mobile app is opened (if pre-installed on the device). Clicking the second button, results in the following screen being displayed on the phone:
The customer would have to re-enter his card data and then continue to approve the payment by entering a PIN from his HW dongle
Deactivating the Bancontact mobile version
The merchant can deactivate the mobile flow by sending the UseMobileVersion
parameter as false
.
This is not recommended as it makes the flow more complicated for the customer (has to use a HW dongle to confirm the payment instead of simply scanning a QR code with his mobile APP).
Example initiatePaymentRequest
with mobile parameter = false:
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>BancontactHiPayProviderTesting</merchantID>
<shopID>BancontactHiPayProviderTestingShop1</shopID>
<merchantTransactionID>14993217553265520-4</merchantTransactionID>
<paymentMethodID>231</paymentMethodID>
<amount currencyCode="EUR">20.0</amount>
<userID>55463018</userID>
<userData>
<username>testuser</username>
<firstname>TESTT1FN</firstname>
<lastname>TESTT1LN</lastname>
<email>[email protected]</email>
<address>
<street>Address21</street>
<houseName>Address1</houseName>
<postalCode>447474</postalCode>
<city>City1</city>
<state>State1</state>
<countryCode2>BE</countryCode2>
</address>
<dateOfBirth>1940-03-02T00:00:00</dateOfBirth>
</userData>
<userIP>10.8.160.255</userIP>
<userSessionID>00110206072017lFMjsdDHWyc</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyBooleanValuePair">
<key>UseMobileVersion</key>
<value>false</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>CreditCardDeposit</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>IsThreeDSecureRequired</key>
<value>true</value>
</data>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>https://www.example.com/deposit/bancontact.action?txnid=14993217553265520-4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>https://www.example.com/deposit/bancontact.action?txnid=14993217553265520-4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PendingPageUrl</key>
<value>https://www.example.com/deposit/bancontact.action?txnid=14993217553265520-4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CancelPageUrl</key>
<value>https://www.example.com/deposit/bancontact.action?txnid=14993217553265520-4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>RefusePageUrl</key>
<value>https://www.example.com/deposit/bancontact.action?txnid=14993217553265520-4</value>
</data>
</specificPaymentData>
<paymentAccountID>8db797bb-3ae4-48a3-91e8-0ae124d35d19</paymentAccountID>
</initiatePaymentRequest>
Same response as Bancontact payments
Note the response is the same as for regular Bancontact payments, however, the redirect page is different.
When redirecting the customer to Bancontact when the mobile version is deactivated/disabled, the screen could look like this (depends on the bank). The customer sees an overview and needs to enter a PIN displayed on his HW dongle to confirm the payment.
Notifications
The provider notifies PXP Financial on payments that are either Successful (state DepositedByProvider
), Declined (state RefusedByProvider
).
The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.
Payment States | Description |
---|---|
AuthorisedByProvider (13) | Success state |
RefusedByProvider | Payment has been rejected by the provider. |
AuthoriseErrorReportedByProvider | Payment has an error reported by the provider. |
Sample notification:
<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>150001</shopID>
<paymentMethod>
<key>231</key>
<value>BancontactDeposit</value>
</paymentMethod>
<merchantTransactionID>dc11aad3-dc0e-482d-b416-5f4cbb7bdf3d</merchantTransactionID>
<paymentID>c7ad280e-82e7-49f0-8204-e0b7735ed141</paymentID>
<userID>5d089707-5f72-4e08-9394-16ff0f</userID>
<paymentProvider>
<key>132</key>
<value>Hipay</value>
</paymentProvider>
<amount currencyCode="EUR">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>f1954171-6374-4ac2-bda3-a215c18029e4</id>
<definition>
<key>13</key>
<value>AuthorisedByProvider</value>
</definition>
<createdOn>2017-05-28T18:07:39.32</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ApprovalCode</key>
<value>test123</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10.0000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>36264</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>388997073285</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>1d31b167-c22f-4d26-b66f-de1326261a89</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>MaskedNumber</key>
<value>************6942</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountOwnerToken</key>
<value>9b60348a-3520-4df8-b6b2-92acc7e5c8eb</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>11</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2027</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>John Doe</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CardType</key>
<value>Mastercard</value>
</detail>
</details>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Testing using the PXP Mock
The PXP test system provides a mock page for testing and simulating the provider behaviour.
This can be used for simulating certain test scenarios.
After sending the initiatePaymentRequest
, the URL returned will be a URL that redirects to the PXP mock page rather than the provider page.
Example Redirection URL to the PXP mock:
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>https://api.test.kalixa.com/WebMockProviders/HipayFrontend/Index?orderId=121725&paymentProduct=ideal</value>
</detail>
Testing against provider test system
This mock is provided by PXP test system. It is NOT testing against provider system!
If a merchant wants to test against the provider (Hipay) test system, this needs to be requested to be configured via the PXP Support team. But please note that the below scenarios cannot be simulated with the Provider test system, this is why PXP provides that mock page.
The mock page contains the below listed fields which can be used by the merchant test team to simulate the different cases:
- successful (DepositedByProvider)
- refused (RefusedByProvider)
Additionally if values are entered for the optional fields, they will be used and stored on the created IdealDeposit payment and returned to the merchant as part of the handlePaymentStateChangedNotificationRequest. Examples for those requests can be found in the Notifications chapter above.
Field in Mock | Value | Details |
---|---|---|
Password | do not change prefilled value, should remain with value signature as shown in the screenshot | |
Reason Code | optional applicable only if state "declined" is selected in the mock | In case of a RefusedByProvider scenario, if a value is provided, then it will be returned in handlePaymentStateChangedNotificationRequest to the merchant as part of paymentStateDetailskey = ProviderResponseCode value = 4000001 (for example ) |
Reason Message | applicable only if state "declined" is selected in the mock | In case of a RefusedByProvider scenario, if a value is provided, then it will be returned in handlePaymentStateChangedNotificationRequest to the merchant as part of paymentStateDetailskey = ProviderResponseMessage value = Declined (for example ) |
State | completed = will simulate a successful payment declined = will simulate a refused payment | handlePaymentStateChangedNotificationRequest to the merchant will showif "declined", then state.definition key = 100 value = RefusedByProvider if "completed", then state.definition key = 29 value = DepositedByProvider |
Example screenshot of the Bancontact Deposit mock page, simulating Provider Hipay
Updated over 2 years ago