InstaDebit Deposit (via IDS)
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
130 | InstaDebitDeposit | DepositedByProvider (29) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
Redirect Integration
Currently not supported.
Backend2BackendIntegration
The following parameters can be provided in initiatePaymentRequest.specificPaymentData:
key (value type, account type, required) | value |
---|---|
Middlename (string) | The middle name of the user |
AddressLine1 (string) | Home address line 1 |
AddressLine2 (string) | Home address line 2 |
PhoneNumberAreacode (string) | Home phone area code |
PhoneNumberLocalNumber (string) | Home phone local number |
ExtraField (string) | Extra parameter. It is a pass-through only and provider IDS does not record it |
Example initiatePaymentRequest:
<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>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>d3086580-6351-4956-bb7d-2520e8098ce6</merchantTransactionID>
<paymentMethodID>130</paymentMethodID>
<amount currencyCode="EUR">10</amount>
<userID>678358</userID>
<userData/>
<userIP>127.0.0.1</userIP>
<userSessionID>15208e51-9cfa-422e-9f6e-0a5b5e780e20</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>Middlename</key>
<value>test</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PhoneNumberAreacode</key>
<value>12345</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PhoneNumberLocalNumber</key>
<value>23456</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AddressLine1</key>
<value>testaddr1</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AddressLine2</key>
<value>testaddr2</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ExtraField</key>
<value>xxx</value>
</data>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://success/?a=b&c=d</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<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>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>130</key>
<value>InstaDebitDeposit</value>
</paymentMethod>
<merchantTransactionID>d3086580-6351-4956-bb7d-2520e8098ce6</merchantTransactionID>
<paymentID>c4642a17-a6c3-4afd-8c4b-e821fca4fc22</paymentID>
<userID>678358</userID>
<paymentProvider>
<key>109</key>
<value>InstaDebit</value>
</paymentProvider>
<amount currencyCode="EUR">10</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>7346cf00-de3b-4cde-8ce3-622330f6831b</id>
<definition>
<key>287</key>
<value>RedirectDataCreated</value>
</definition>
<createdOn>2012-08-03T10:17:00.8739349Z</createdOn>
<description>https://staging.instadebit.com/instadebit/merGateway.do
merchant_id='DemoG'
merchant_user_id='678358'
merchant_txn_num='4618'
txn_amount='10.00'
txn_currency='EUR'
first_name='testfirst'
middle_name='t'
last_name='testlast'
addr_1='testaddr1'
addr_2='testaddr2'
city='berlin'
state='berlin'
zip='11444'
country='DE'
hph_area_code='123'
hph_local_number='23456'
dob_day='7'
dob_month='6'
dob_year='1988'
extra_field_1='xxx'
return_url='http://success/?a=b&c=d'
lang='de'
</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>https://staging.instadebit.com/instadebit/merGateway.do</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_id</key>
<value>DemoG</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_user_id</key>
<value>678358</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_txn_num</key>
<value>4618</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatatxn_amount</key>
<value>10.00</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatatxn_currency</key>
<value>EUR</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatafirst_name</key>
<value>testfirst</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamiddle_name</key>
<value>t</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatalast_name</key>
<value>testlast</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataaddr_1</key>
<value>testaddr1</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataaddr_2</key>
<value>testaddr2</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatacity</key>
<value>berlin</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatastate</key>
<value>berlin</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatazip</key>
<value>11444</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatacountry</key>
<value>DE</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatahph_area_code</key>
<value>123</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatahph_local_number</key>
<value>23456</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatadob_day</key>
<value>7</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatadob_month</key>
<value>6</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatadob_year</key>
<value>1988</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataextra_field_1</key>
<value>xxx</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatareturn_url</key>
<value>http://success/?a=b&c=d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatalang</key>
<value>de</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataKeys</key>
<value>merchant_id,merchant_user_id,merchant_txn_num,txn_amount,txn_currency,first_name,middle_name,last_name,addr_1,addr_2,city,state,zip,country,hph_area_code,hph_local_number,dob_day,dob_month,dob_year,extra_field_1,return_url,lang</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">10</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>4618</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Possible payment states in initiatePaymentResponse:
Payment State | Description |
---|---|
RedirectDataCreated (287) | The merchant system should retrieve the redirect URL from payment.state.paymentStateDetails (key: RedirectionUrl). Post data should be extracted from payment.state.paymentStateDetails(key: PostData…). |
DuplicatePaymentValidationFailed (369) | Error state: duplicate payment |
Notes
For failed transactions Instadebit do not return customers back.
For cancelled transaction they do return customer to the return_url. The merchant can change the return_URL by appending the transaction_number, then look up the state (PXP passes a notification for successful payments).
This is being tested during the certification.
Notifications
The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.
Example handlePaymentStateChangedNotificationRequest:
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>150001</shopID>
<paymentMethod>
<key>130</key>
<value>InstaDebitDeposit</value>
</paymentMethod>
<merchantTransactionID>8c9f9424-f388-4253-9c3b-0b54a12b86c0</merchantTransactionID>
<paymentID>e7c7cc22-bcf0-4ca0-8a65-a5cb48f14d72</paymentID>
<userID>678358</userID>
<paymentProvider>
<key>109</key>
<value>InstaDebit</value>
</paymentProvider>
<amount currencyCode="EUR">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>5df3dee4-5600-41bb-9947-d0221ac215a0</id>
<definition>
<key>29</key>
<value>DepositedByProvider</value>
</definition>
<createdOn>2017-08-02T12:04:52.123</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>0</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10.0000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>204918</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>3e407340-8102-4581-90ab-f295793d872f</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>accountNumber</key>
<value>12345</value>
</detail>
</details>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Transaction Error Codes:
Code | Definition | Declined Txn Fee Charged |
---|---|---|
1 | Transaction is terminated. It fails IDS' IP validation. | |
2 | Transaction is terminated. The customer's IDS account is blocked or suspended. | |
3 | Transaction is terminated. Risk management subsystem returns suspicious/fraudulent information on the bank account. The customer's IDS account is blocked as a result. | Yes |
4 | Transaction is terminated. The amount exceeds IDS transaction velocity limits. | |
7 | Transaction is terminated. Failed bank account verification attempts by the customer exceed the maximal allowed. | Yes |
8 | The customer cancels transaction after failed bank account verification. | Yes |
9 | Transaction is terminated. Failed identity verification attempts by the customer exceed the maximal allowed. | Yes |
12 | Transaction is terminated. The customer has too many failed login attempts. The account is temporarily blocked. | |
13 | Transaction is terminated. Risk management subsystem rejects the transaction due to negative information on the bank account. | Yes |
14 | Transaction is terminated. Risk management subsystem returns suspicious/fraudulent information on the identity. The customer's signup request is declined. | |
15 | Transaction is terminated. Customer's personal information (names) from the merchant mismatches that from IDS. | |
16 | Transaction is terminated. There is not sufficient fund to cover the transaction. | Yes |
17 | Transaction is terminated. The crosscurrency transaction is not supported. | |
19 | Transaction is terminated. The country where the consumer resides is not supported. | |
20 | Transaction is terminated. The consumer must verify his/her bank account before transacting. | |
21 | Transaction is terminated. There is not sufficient fund in customer's INSTADEBIT account to cover the transaction. | |
98 | Transaction is terminated. The transaction is declined (generic error). | |
99 | The transaction is cancelled by the customer. |
Updated almost 4 years ago