PinBank Bank Transfer Withdrawal
Provider PinBank offers bank transfer withdrawal for customers in Brazil.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
24 | BankTransferWithdrawal | WithdrawnByProvider |
Payment method interaction type: Sychronous execution (see Interaction Types).
Flow Diagram
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 |
---|---|
BankCountryCode2 (string, required) | Country code, only one supported is BR |
BankCode (string, required) | Bank code. See below for list of possible values. |
BranchCode (string, required) | Bank branch code |
AccountNumber (string, required) | Bank account number |
AccountNumberCheckValue (string, required) | Bank account number check value |
AccountType (string) | Account type value (see below) |
AccountOwner (string) | Account owner name |
Account Types for Brazil
The AccountType value is mandatory. The following values apply:
"Corrente" - Current/Checking Account
"Poupanca" - Savings Account
Bank Codes:
Bank Code
BANCO ABN AMRO S.A. 075
Cooperativa Central de Crédito Urbano-CECRED 085
BANCO DA AMAZONIA S.A. 003
BANCO DO NORDESTE DO BRASIL S.A. 004
BANCO BONSUCESSO S.A. 218
BANCO BRADESCO S.A. 237
BANCO DO BRASIL S.A. 001
BANCO DE BRASILIA S.A. - BRB 070
CAIXA ECONOMICA FEDERAL - CEF 104
CITIBANK N.A. 477
BANCO COOPERATIVO DO BRASIL S/A - BANCOOB 756
BANCO DAYCOVAL S.A. 707
BANESTES S.A. BANCO DO ESTADO DO ESPIRITO SANTO 021
BANCO DO ESTADO DO PARA S.A. - BANPARA 037
BANCO DO ESTADO DO RIO GRANDE DO SUL S.A. - BANRISUL 041
BANCO DO ESTADO DE SERGIPE S.A. - BANESE 047
HSBC BANK BRASIL S.A. - BANCO MULTIPLO 399
ITAU UNIBANCO S.A. 341
BANCO MERCANTIL DO BRASIL S.A. 389
BANCO MODAL S.A. 746
BANCO SAFRA S.A. 422
BANCO SANTANDER BRASIL S.A. 033
BANCO COOPERATIVO SICREDI S.A. 748
BANCO INTER 077
BANCO SOFISA 637
BANCO NEON 735
NU PAGAMENTOS 260
Cooperativa Central de Crédito Urbano-CECRED 085
BANCO AGIPLAN S.A. 121
Confederação Nacional das Cooperativas Centrais Unicred 136
BANCO ORIGINAL 212
Banco Votorantim S.A. 655
BANCO CITIBANK 745
PagSeguro Internet S.A. 290
BANCO BMG S.A 318
BANCO C6 S.A. 336
The following parameters can be provided in initiatePaymentRequest.specificPaymentData:
key (value type, account type, required) | value |
---|---|
PaymentProviderID (Int) | Provider ID - should be 186 |
The following parameters have to passed in initiatePaymentRequest.UserData:
key (value type, account type, required) | value |
---|---|
identificationNumber (string, required) | Identification Number (CPF) of the recipient |
Example initiatePaymentRequest:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>w3ga2sg2-44-4-2f2-rg1</merchantTransactionID>
<paymentMethodID>24</paymentMethodID>
<amount currencyCode="BRL">15.00</amount>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<userData>
<identificationNumber>12345678909</identificationNumber>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>8da7fe3c-da36-45c0-b107-ff9f91d71db6</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>186</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>BankCountryCode2</key>
<value>BR</value>
</data>
<data xsi:type="keyStringValuePair">
<key>BankCode</key>
<value>001</value>
</data>
<data xsi:type="keyStringValuePair">
<key>BranchCode</key>
<value>12345</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AccountNumber</key>
<value>59899473334</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AccountNumberCheckValue</key>
<value>1</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AccountType</key>
<value>Corrente</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AccountOwner</key>
<value>Otto Flick</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</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>24</key>
<value>BankTransferWithdrawal</value>
</paymentMethod>
<merchantTransactionID>w3ga2sg2-44-4-2f2-rg1</merchantTransactionID>
<paymentID>917fecb8-5674-4f74-ad2d-0c81ab37e179</paymentID>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<paymentProvider>
<key>186</key>
<value>PINbank</value>
</paymentProvider>
<amount currencyCode="BRL">15.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>02bfc8c5-b9a4-4469-a334-71a498134873</id>
<definition>
<key>3</key>
<value>InitiatedByProvider</value>
</definition>
<createdOn>2020-07-22T08:08:40.9604091Z</createdOn>
<description>Sucesso.</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Sucesso.</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">3.98</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>TD000198469</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>1764613</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>aed6fa0e-1310-4dc3-8a95-ba24121833f9</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The payment can reach one of the following states in the initiatePaymentResponse:
Payment States | Description |
---|---|
InitiatedByProvider | Intermediate state denoting a successful payment submission at provider |
WithdrawErrorReportedByProvider | Error state due to failed payment submission at provider; errors are logged in the PaymentStateAdditionalDetails fields ProviderResponseCode and ProviderResponseMessage |
WithdrawCommunicationErrorOccurred | Error state for a failed communication with the provider or unexpected result received |
Submitted payments are sent by PinBank to the Brazilian Central Bank.PXP Financial regularly queries the PinBank system for the status of the payment and update the payment state on PXP Financial side.
A PinBank BankTransferWithdrawal has been successfully initiated and has reached the InitiatedByProvider status it can go to any of the following states:
Payment States | Description |
---|---|
PendingOnProvider | A withdrawal payment has been sent to provider but not yet processed and it still can be rejected |
WithdrawnByProvider | Success state |
Cancelled | Unsuccessful state due to failed processing of payment; errors are logged in the PaymentStateAdditionalDetails fields ProviderResponseCode and ProviderResponseMessage |
QueryPaymentStateErrorReportedByProvider | On regular intervals the state of the payment is being queried against provider. When an error is reported by the provider, it is logged in the PaymentStateAdditionalDetails fields ProviderResponseCode and ProviderResponseMessage |
QueryPaymentStateCommunicationErrorOccurred | On regular intervals the state of the payment is being queried against provider. When no response is received by the provider or the response is not expected, |
List of response codes from the provider
ProviderResponseCode | Meaning |
---|---|
0 | Success. |
1 | EmptyCodigoCliente |
2 | EmptyCodigoCanal |
3 | EmptyCpfCnpj |
4 | InvalidCpfCnpj |
5 | EmptyToken |
6 | EmptyCodigoBanco |
7 | EmptyAgencia |
8 | DigitoAgenciaIsRequiredForSelectedBank |
9 | InvalidDigitoAgencia |
10 | EmptyContaCorrente |
11 | EmptyDigitoContaCorrente |
12 | InvalidDigitoContaCorrente |
13 | EmptyTipoConta |
14 | EmptyTipoPessoa |
15 | EmptyNomeFavorecido |
16 | EmptyCpfCnpjFavorecido |
17 | InvalidCpfCnpjFavorecido |
18 | InvalidCpfCnpjFavorecidoForTipoPessoa |
19 | EmptyValor |
20 | EmptyDataAgendamento |
21 | InvalidDataAgendamento |
22 | AccountNotFound |
23 | AccountNotActive |
24 | ChannelNotParametrizedForAccount |
25 | AccountDocumentationNotApproved |
26 | ErrorProcessingTransaction |
27 | InvalidToken |
28 | CustomerNotFound |
29 | InsufficientFundsForTransaction |
30 | TransactionNotApproved |
31 | InvalidSearchParameters |
32 | BlockedUser |
33 | UserNotFound |
34 | EmptyNossoNumero |
35 | DocTedNotFound |
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: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>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>24</key>
<value>BankTransferWithdrawal</value>
</paymentMethod>
<merchantTransactionID>17593196-f44f-4b1e-92e8-474d8e88710d</merchantTransactionID>
<paymentID>c2c83321-1466-4af7-bde3-d84418f9b991</paymentID>
<userID>12b140b5-35ee-4a83-9f87-9d4405</userID>
<paymentProvider>
<key>186/key>
<value>PinBank</value>
</paymentProvider>
<amount currencyCode="BRL">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>6ca51370-bac8-42da-8121-1627a34289cd</id>
<definition>
<key>20</key>
<value>WithdrawnByProvider</value>
</definition>
<createdOn>2017-09-08T09:58:29.783</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Successo.</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">2.6500</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>1764613</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>TD000198469</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>d52b9f0e-55b3-4011-a5e7-3935c6388958</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Updated almost 4 years ago