InstaDebit Withdrawal (via IDS)
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
133 | InstaDebitWithdrawal | WithdrawnByProvider (20) |
Payment method interaction type: Synchronous Execution (see Interaction Types).
Redirect Integration
Currently not supported.
Backend2BackendIntegration
The following table contains the fields to be sent in the initiatePaymentRequest.specificPaymentAccountData xml section:
key (value type, account type, required) | value |
---|---|
AccountNumber (string, required) | UserID on provider IDS |
Example initiatePaymentRequest:
<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>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>6860fe6c-68d8-4c51-9ae4-85a37808e572</merchantTransactionID>
<paymentMethodID>133</paymentMethodID>
<amount currencyCode="EUR">10</amount>
<userID>d48693ca-e96e-4ca1-9e01-035645a793991</userID>
<userData/>
<userIP>127.0.0.1</userIP>
<userSessionID>6a956eae-d903-4a01-8170-20dae92673d1</userSessionID>
<creationTypeID>1</creationTypeID>
<paymentAccountID>9e79e86e-c8bf-481a-bbfc-729358d1c7ef</paymentAccountID>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>AccountNumber</key>
<value>TheAccountNumber</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<initiatePaymentResponse
xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>150102</shopID>
<paymentMethod>
<key>133</key>
<value>InstaDebitWithdrawal</value>
</paymentMethod>
<merchantTransactionID>6860fe6c-68d8-4c51-9ae4-85a37808e572</merchantTransactionID>
<paymentID>ee85fdc2-0b57-4fc0-a6a6-8816433dd27e</paymentID>
<userID>CQRB2BTestMerchantSystemUser</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>2906cc15-1fcc-41f7-9911-60ad4dce4609</id>
<definition>
<key>20</key>
<value>WithdrawnByProvider</value>
</definition>
<createdOn>2012-06-20T08:35:56.130665Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>TransactionFee</key>
<value>0,1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>11553</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>80</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>d3ec399d-8b2f-4490-ab75-c9c5c01e844b</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The possible payment states in initiatePaymentResponse are listed below:
Payment State | Description |
---|---|
WithdrawnByProvider (20) | Success state |
DuplicatePaymentValidationFailed (369) | Payment with same merchantTransactionID already exists. |
RefusedByProvider (100) | Refused state. Payment was not accepted by provider. ProviderResponseCode is provided in paymentStateDetails - see below. |
The following fields are returned in paymentStateDetails
:
Field name | Description |
---|---|
TransactionFee | Fee that the provider charges for a transaction |
ProviderResponseCode (in case of RefusedByProvider) | See below table for the provider error codes |
ProviderResponseMessage (in case of RefusedByProvider) | See below table for the provider error codes |
Provider-specific error codes:
ProviderResponseCode | ProviderResponseMessage |
---|---|
F002 | Content of the request does not comply with the specification |
F003 | The merchant fails IDS’ authentication |
F004 | The user id provided by merchant doesn’t exist in IDS |
F005 | The merchant user id field is missing |
F006 | The transaction type is wrong |
F007 | The transaction amount is wrong |
F008 | The currency of the transaction is not supported |
F009 | The merchant transaction number is not unique |
F010 - F015 | System internal error |
F016 | The customer to whom the payout is sent has been suspended or blocked by IDS due to suspicious or fraudulent activities |
F017 | The transaction is declined to avoid overdraft from a merchant’s account. A merchant’s balance with IDS must be able to cover a payout in order for the transaction to be processed |
Notifications
The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.
Updated over 7 years ago