Citadel BankTransfer Withdrawal

For BankTransferWithdrawal through provider Citadel, we use payment method ID 24 (BankTransferWithdrawal).

The following method IDs are covered in this section:

IDNameCredit/Debit StateReversal State
24BankTransferWithdrawalWithdrawnByProvider

Payment method interaction type: Synchronous execution (see Interaction Types).

📘

Citadel Bank Transfer Withdrawal Returns

Refer to Bank Transfer (and Wallet) Withdrawal Returns for information on how to correctly handle the notifications for Bank Transfer Withdrawal Returns for Citadel.

Redirect Integration

Supported as this BankTransferWithdrawal.

Backend2BackendIntegration

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)value
UserCountryCode
(string)
The UserCountryCode should be passed in either specificPaymentData or within userData.
CheckDigit (string)The CheckDigit is sent as value bank_check_digit and is only used in Poland for the field option Control#, SortCode, and Account Number.

The following table contains the fields to be sent in the initiatePaymentRequest.specificPaymentAccountData xml section:

key (value type, account type, required)value
IBAN
(string)
The beneficiary`s IBAN
CurrencyCode (string, required)The beneficiary`s currency, eg. EUR
BankCountryCode (string)Beneficiary´s bank account´s country code
SWIFT (string)Beneficiary´s bank account`s BIC
BankCode (string)Beneficiary´s bank account sort code
AccountNumber (string)Beneficiary´s bank account number
BranchCode (string)Beneficiary`s bank account branch code
AccountOwner (string)Beneficiary`s bank account owner name
BankName (string)Beneficiary´s bank name
BankSortCode (string)Beneficiary´s bank sort code
BankAddress (string)Beneficiary´s bank address
AccountOwnerAddress (string)Beneficiary´s address
ClabeNumber (string)Beneficiary´s CLABE number

Above parameters from specificPaymentAccountData may be sent depending on bank account and currency.

See Sample Fields for Canada, Hungary, Poland and Czech Republic. Other countries can be added upon request.

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>AcceptDemo</merchantID>
        <shopID>AcceptDemo</shopID>
        <merchantTransactionID>114723845953</merchantTransactionID>
        <paymentMethodID>24</paymentMethodID>
        <amount currencyCode="USD">22</amount>
        <userID>pp_testad2016</userID>
		<userData>
			<username>dt_thammer</username>
			<firstname>Tony</firstname>
			<lastname>Hammer</lastname>
			<currencyCode/>
			<languageCode/>
			<email/>
			<address>
				<street/>
				<houseName/>
				<houseNumber/>
				<houseNumberExtension/>
				<postalCode/>
				<city/>
				<state/>
				<countryCode2>DE</countryCode2>
				<telephoneNumber/>
			</address>
			<dateOfBirth>1967-01-03T00:00:00</dateOfBirth>
		</userData>
        <userIP>10.8.62.200</userIP>
        <userSessionID>07180103042012ZYcjTYH01qg</userSessionID>
        <creationTypeID>1</creationTypeID>
         <paymentAccountID>30f495c1-6373-4bf5-85cf-bc50c2e42426</paymentAccountID>
		<paymentAccount>
		<specificPaymentAccountData>
		<data xsi:type="keyStringValuePair">
		<key>iBAN</key>
		<value>DE89370400440532013000</value>
		</data>
		<data xsi:type="keyStringValuePair">
		<key>CurrencyCode</key>
		<value>EUR</value>
		</data>
		<data xsi:type="keyStringValuePair">
		<key>AccountOwner</key>
		<value>Will Smith</value>
		</data>
	</specificPaymentAccountData>
	</paymentAccount>               
</initiatePaymentRequest>

Example initiatePaymentResponse:

<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
         <payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <merchantID>AcceptDemo</merchantID>
            <shopID>AcceptDemo</shopID>
            <paymentMethod>
               <key>24</key>
               <value>BankTransferWithdrawal</value>
            </paymentMethod>
            <merchantTransactionID>114723845953</merchantTransactionID>
            <paymentID>97e3b976-a159-44bb-a4e8-b88cd0f73f64</paymentID>
            <userID>pp_testad2016</userID>
            <paymentProvider>
               <key>90</key>
               <value>Envoy</value>
            </paymentProvider>
            <amount currencyCode="USD">22</amount>
            <creationType>
               <key>1</key>
               <value>User</value>
            </creationType>
            <userIP>10.8.62.200</userIP>
            <state>
               <id>77605410-6046-47bd-971e-114717e91cf3</id>
               <definition>
                  <key>201</key>
                  <value>ApprovedByPaymentScoring</value>
               </definition>
               <createdOn>2017-05-22T11:40:15.693145Z</createdOn>
               <paymentStateDetails>
                  <detail xsi:type="keyStringValuePair">
                     <key>PaymentStateReasonID</key>
                     <value>1</value>
                  </detail>
               </paymentStateDetails>
            </state>
            <isExecuted>false</isExecuted>
            <baseAmount currencyCode="EUR">16.13</baseAmount>
            <paymentDetails>
               <detail xsi:type="keyStringValuePair">
                  <key>ProviderExternalID</key>
                  <value>W20475</value>
               </detail>
            </paymentDetails>
            <paymentAccount>
               <paymentAccountID>30f495c1-6373-4bf5-85cf-bc50c2e42426</paymentAccountID>
            </paymentAccount>
         </payment>
      </initiatePaymentResponse>

Bank Account fields by country

See below for a sample of fields for Canada, Hungary, Poland and Czech Republic to be sent to the PXP Financial payment service. Other countries can be added upon request.

*R = Required Field, O = optional field, if provided it must be valid. 'Name' indicates how a field should be called towards the customer.

'3 digits' denotes a field that has to be 3 digits long, while '4 to 12 digits' indicates a field from 4 up to 12 digits.

Country/CurrencyFields
Canada / CAD- Seperate Institution, Branch, and AccountOwner:
AccountOwner ('Account Holder') (R), BankName (O), BankCode ('Institution Number', 3 digit) (R), BranchCode ('Branch Number', 5 digit) (R), AccountNumber (4 to 12 digits) (R)

- Combined Institution, Branch, and Account Number:
AccountOwner ('Account Holder') (R), BankName (O), AccountNumber (R) (format of 88899999-5555555: 888 = institution #; 99999 = branch #; 5555555 = 4-12 digit account number)
Hungary / HUF - IBAN:
AccountOwner ('Account Holder') (R) and IBAN (24 characters) (R)

- AccountNumber:
AccountOwner ('Account Holder') (R) and Account Number (between 16 and 24 characters) (R)
Poland / PLN - IBAN:
AccountOwner ('Account Holder') (R) and IBAN (28 characters) (R)

- AccountOwner ('Account Holder') (R), CheckDigit (field in specificPaymentData, 'Control Number', 2 digit), Bankcode ('Sort Code', 8 digits) (R), AccountNumber (16 digits, may include leading zeros) (R)
Czech Republic / CZK - IBAN:
Account Owner ('Account Holder') (R) and IBAN (24 characters) (R)

- Prefix, Account Number / Bank Code:
Account Owner ('Account Holder') (R), BranchCode ('Prefix', 0-6 digits) (O), BankCode (4 digits) (R), AccountNumber (2 - 10 digits) (R)
Australia / AUD- BSB (Bank State Branch) and Account Number:
Account Owner ('Account Holder') (R) and BranchCode ('Bank State Branch', 6 digits) and AcountNumber (5 to 9 digits)

- BSB and Account Number in bank_code:
these options are being reviewed

- IBAN:
these options are being reviewed