Citadel Direct Deposit
Payment Method Citadel Direct Deposit is used for online banking deposits in the US.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
156 | CitadelDirectDeposit | DepositedByProvider (29) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
Citadel Direct Deposit Returns
Refer to Bank Transfer (and Wallet) Deposit Returns for information on how to correctly handle the notifications for Bank Transfer Deposit Returns
Redirect Integration
Currently not supported.
Backend2BackendIntegration
The following table contains the fields to be sent in initiatePaymentRequest.specificPaymentData:
key (value type, account type, required) | value |
---|---|
MerchantNotificationUrl (string, required) | The URL where the user will be redirected after payment execution with payment execution result. |
PendingPageUrl (string, required) | The URL to redirect user in case of pending payment |
CountryCode2 (string, required) | The two letter ISO code of the country |
Example initiatePaymentRequest:
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>d1424c6c-61a6-4b22-b271-a9d9ca873377</merchantTransactionID>
<paymentMethodID>156</paymentMethodID>
<amount currencyCode="EUR">10</amount>
<userID>061d3d1c-0a93-4ab8-8936-6a6896</userID>
<userData>
<username>061d3d1c-0a93-4ab8-8936-6a6896</username>
<firstname xsi:nil="true"/>
<lastname xsi:nil="true"/>
<currencyCode xsi:nil="true"/>
<languageCode xsi:nil="true"/>
<email xsi:nil="true"/>
<address xsi:nil="true"/>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>86aefacf-193c-433e-b042-a945c6108856</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>MerchantNotificationUrl</key>
<value>http://notification.url</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PendingPageUrl</key>
<value>http://pending/</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CountryCode2</key>
<value>at</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>156</key>
<value>CitadelDirectDeposit</value>
</paymentMethod>
<merchantTransactionID>d1424c6c-61a6-4b22-b271-a9d9ca873377</merchantTransactionID>
<paymentID>c5d6a9e5-f364-4159-ab31-7fc82a6102ff</paymentID>
<userID>061d3d1c-0a93-4ab8-8936-6a6896</userID>
<paymentProvider>
<key>111</key>
<value>Citadel</value>
</paymentProvider>
<amount currencyCode="EUR">10</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>d84ab002-3a50-4728-96cb-b81715154c7c</id>
<definition>
<key>287</key>
<value>RedirectDataCreated</value>
</definition>
<createdOn>2012-07-12T16:19:20.1106805Z</createdOn>
<description>http://dev.backend.cqrpayments.com/WebMockProviders/Citadel.aspxmerchant_store_id='CITADEL'merchant_legal_name='B2BTestMerchant'merchant_reference='379'merchant_customer_id='061d3d1c-0a93-4ab8-8936-6a6896'country_code=''currency_code='EUR'amount='10.00'merchant_site_url='http://pending/'payment_notification_url='http://dev.backend.cqrpayments.com/ProviderListeners/CitadelDirectDeposit.aspx'</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://dev.backend.cqrpayments.com/WebMockProviders/Citadel.aspx</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_store_id</key>
<value>CITADEL</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_legal_name</key>
<value>B2BTestMerchant</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_reference</key>
<value>379</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_customer_id</key>
<value>061d3d1c-0a93-4ab8-8936-6a6896</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatacountry_code</key>
<value>at</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatacurrency_code</key>
<value>EUR</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataamount</key>
<value>10.00</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatamerchant_site_url</key>
<value>http://pending/</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDatapayment_notification_url</key>
<value>http://dev.backend.cqrpayments.com/ProviderListeners/CitadelDirectDeposit.aspx</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataKeys</key>
<value>merchant_store_id,merchant_legal_name,merchant_reference,merchant_customer_id,country_code,currency_code,amount,merchant_site_url,payment_notification_url</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">10</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>379</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The possible payment states in initiatePaymentResponse are listed below:
Payment States | Description |
---|---|
RedirectDataCreated (287) | OK state; Redirect user to the URL |
DuplicatePaymentValidationFailed (369) | The payment with same merchantTransactionID already exists. |
handleProviderNotificationToMerchantRequest (optional, step 2)
When the merchant receives a notification on their listener they should send it to PXP Financial.
It is possible that the notification from the Provider comes first to the PXP Financial listener and that is the reason why the merchant notification is optional. When PXP Financial receives the notification from the merchant, the payment will be either AbortedByCustomer or PXP Financial will wait for the provider notification and the state of the payment will be PendingOnProvider.
handleProviderNotificationToMerchantRequest:
<handleProviderNotificationToMerchantRequest xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>YourMerchantID</merchantID>
<providerID>111</providerID>
<content>merchant_reference=379&payment_reference=PR0000001891&status=CANCELLED&amount=10&currency_code=EUR&store_id=MyMerchant&internal_reference=39326233-cb12-45f8-a7d9-974f7573a80b</content>
</handleProviderNotificationToMerchantRequest>
handleProviderNotificationToMerchantResponse:
<handleProviderNotificationToMerchantResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>156</key>
<value>CitadelDirectDeposit</value>
</paymentMethod>
<merchantTransactionID>d1424c6c-61a6-4b22-b271-a9d9ca873377</merchantTransactionID>
<paymentID>c5d6a9e5-f364-4159-ab31-7fc82a6102ff</paymentID>
<userID>061d3d1c-0a93-4ab8-8936-6a6896</userID>
<paymentProvider>
<key>111</key>
<value>Citadel</value>
</paymentProvider>
<amount currencyCode="EUR">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>21e1acc9-b6a4-4b2c-8f88-7aa1936434b7</id>
<definition>
<key>101</key>
<value>AbortedByCustomer</value>
</definition>
<createdOn>2012-07-12T16:19:20.6001805Z</createdOn>
<description>merchant_reference=379&payment_reference=PR0000001891&status=CANCELLED&amount=10&currency_code=EUR&store_id=MyMerchant&internal_reference=39326233-cb12-45f8-a7d9-974f7573a80b</description>
<paymentStateDetails xsi:nil="true"/>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">10.0000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>379</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>39326233-cb12-45f8-a7d9-974f7573a80b</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handleProviderNotificationToMerchantResponse>
The possible payment states in handleProviderNotificationToMerchantResponse are:
Payment States | Description |
---|---|
PendingOnProvider (120) | Pending state. |
AbortedByCustomer (101) | Error state; The Payment has been aborted by the customer. |
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:
<handlePaymentStateChangedNotificationRequest
xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>156</key>
<value>CitadelDirectDeposit</value>
</paymentMethod>
<merchantTransactionID>2d28dfd6-0316-4240-847c-a9869558c046</merchantTransactionID>
<paymentID>5b9e509b-ab6a-4ca4-a6de-0a78958c47c4</paymentID>
<userID>a564e6d8-2e06-43b5-a3b2-3b8625</userID>
<paymentProvider>
<key>111</key>
<value>Citadel</value>
</paymentProvider>
<amount currencyCode="EUR">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>0adf0f58-b877-4155-9879-8a14cc2fb2a6</id>
<definition>
<key>29</key>
<value>DepositedByProvider</value>
</definition>
<createdOn>2012-07-13T08:52:31.477</createdOn>
<description/>
<paymentStateDetails xsi:nil="true"/>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10.0000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>380</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>GroupID</key>
<value>1234</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>27464</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
The possible payment states are listed below:
Payment States | Description |
---|---|
DepositedByProvider (29) | Success state. |
Cancelled (113) | Success state; The payment was cancelled. |
ProviderResponseValidationFailed (409) | Error state; Validation failed. |
Updated about 6 years ago