Astropay BankTransfer Redirect Deposit

Astropay BankTransfer Redirect Deposit is a payment method to offer BankTransfer Deposit through Astropay with redirect to Brazilian and Mexican banks.

The following method IDs are covered in this section:

IDNameCredit/Debit State
264AstropayBankTransferRedirectDepositDepositedByProvider

Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).

This page include the following sections:

  • Flow for Brazilian banks
  • Flow for Mexican banks
  • Description of SPEI (from Mexico)
  • Backend2Backend integration - general instructions for all countries
  • Refund
  • Notifications

Flow for Brazilian banks

With the Brazilian banks Itau, Banco do Brasil and Bradesco, the user will be redirected to the bank´s page in order to complete the payment (TEF implementation).

With the banks Caixa and Santander the user will be shown the bank account details as below and will be asked to make a deposit to that account.

1126

The minimal amount is 10 USD, the maximum amount is 3000 USD. The payment is valid for 3 hours. If the user pays after this time the payment is expired. If the user pays a different amount than instructed, the user has to send the proof of payment to Astropay and the payment will be completed by Astropay.

Flow for Mexican banks

The following page is displayed after redirect to Astropay for Banamex:

1034

The following page is displayed after redirect to Astropay for Spei:

739

SPEI (Mexico)

For SPEI the displayed page is a voucher. This voucher expires after 24 hours and it cannot be reused.

Please find below some details about the product (voucher) SPEI.

QuestionAnswer
Supported currencies MXN and USD
If the request is sent in USD to Astropay, the system will convert the amount to MXN and Astropay will charge the user in MXN, because SPEI only allows MXN transactions.
Min and Max per transaction limit Min 2 USD, Max 1000 USD

There are specific transaction, daily, weekly and monthly limits. The default limits are purchase 1000 USD, daily 1000 USD, weekly 3000 USD and monthly 3000 USD.

Daily, weekly, monthly and transaction limits may vary by merchant.
Voucher detailsthe bank details on the voucher are not always the same and can change.
Default validity period of the voucher 24 hours. The applied time zone is UTC.
validity period cannot be extended (only in the Astropay system)
expired voucher A user can pay with an expired voucher, but they will need to be manually released.

When a voucher is expired, Astropay sends a notification to PXP Financial and PXP Financial puts the payment to RefusedByProvider state.
re-use of voucher A voucher cannot be re-used
different amount A user might pay a different amount as the voucher amount, e.g. for a voucher of 100 MXN, the user might pay 50 MXN or 200 MXN. However, the voucher won´t be released automatically and manual release is necessary.
manual releaseA manual release of a payment results in a new transaction generated at PXP Financial, especially if the release was done after a payment has expired (payment state RefusedByProvider) or a different amount was released by Astropay.
Notification time It the user enters the reference number online, the payment is release within 5 minutes. For a offline transaction, the notification might take longer and a manual release is applied.

SPEI accepts payments 24/7, however, it depends on each bank if it credits the deposit during weekends.
ChargebacksNot possible
Identification numberThe identification number (CURP/RFC/IFE) is only validated by length (alphanumeric 10-18 lenght). If not valid, then error Invalid CPF is returned.
Reference numberCurrently not passed by Astropay.
LogoLogo

Redirect Integration

Currently not supported.

Backend2BackendIntegration

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)value
SuccessPageUrl
(string)
URL for redirecting the customer after the payment. Redirection to the URL does not imply a successful payment.
PaymentDescription (string)Description text, maximum 200 characters.
BankName (string, required)Name of the bank

The following parameters can be provided in initiatePaymentRequest.userData:

key (value type, account type, required)value
address.countryCode2 (string, required)Upper case two-letter country code (ISO 3166).
identificationNumber (string, required)CPF number for Brazil, CURP/RFC/IFE for Mexico, CC for Columbia - see information below.
telephoneNumber (string, optional)For Columbia, the mobile phone number needs to be provided here. Optional for all other countries and can thus be omitted.

📘

Supported banks for Brazil

• Itau ("itau")
• Bradesco ("bradesco")
• Banco do Brasil ("bancodobrasil")
• Caixa ("caixa")
• Santander ("santander")
• Pix ("pix")

📘

Supported banks for Mexico

• BBVA Bancomer ("bbvabancomer")
• Spei ("spei")
• Santander ("santander")
• Banamex ("banamex")
• Toditocash - could be added on request

📘

Supported banks for Columbia

• BBVA Bancomer ("bbva")
• Bancolombia ("bancolombia")
• PSE ("pse")

❗️

Identification Number

For Brazil, the CPF number needs to be sent as the field IdentificationNumber within UserData.

For test data see here, for live data check.

For Mexico, the field IdentificationNumber should include the CURP or RFC or IFE number.

For Columbia, the field IdentificationNumber should include the CC number.

Example initiatePaymentRequest:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
       <merchantID>B2BTestMerchant</merchantID>
       <shopID>AstropayCardDepositShop</shopID>
       <merchantTransactionID>f032acfc-4dc8-4039-99c6-a47739205a2d-01</merchantTransactionID>
       <paymentMethodID>264</paymentMethodID>
       <amount currencyCode="BRL">10.01</amount>
       <userID>3e4772d0-72de-4eea-ab13-223c6d</userID>
       <userData>
              <username>3e4772d0-72de-4eea-ab13-223c6d</username>
              <firstname>John</firstname>
              <lastname>Doe</lastname>
              <email>[email protected]</email>
              <address>
                     <street>1225 Bonavita St.</street>
                    <postalCode>11300</postalCode>
                     <city>Sao Paulo</city>
                     <state>MO</state>
                     <countryCode2>BR</countryCode2>
                     <telephoneNumber xsi:nil="true" />
              </address>
              <dateOfBirth>1955-02-15T00:00:00</dateOfBirth>
              <identificationNumber>123456</identificationNumber>
       </userData>
       <userIP>127.0.0.1</userIP>
       <userSessionID>d36ac5a0-e1d4-42fa-b513-fd0e6dae0703</userSessionID>
       <creationTypeID>1</creationTypeID>
       <specificPaymentData>
              <data xsi:type="keyStringValuePair">
                     <key>SuccessPageUrl</key>
                     <value>http://success/?a=b&amp;c=d</value>
              </data>
              <data xsi:type="keyStringValuePair">
                     <key>PaymentDescription</key>
                     <value>Description text, maximum 200 characters.</value>
              </data>
              <data xsi:type="keyStringValuePair">
                     <key>BankName</key>
                     <value>Itau</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>B2BTestMerchant</merchantID>
        <shopID>AstropayCardDepositShop</shopID>
        <paymentMethod>
            <key>264</key>
            <value>BankTransferRedirectDeposit</value>
        </paymentMethod>
        <merchantTransactionID>f032acfc-4dc8-4039-99c6-a47739205a2d-01</merchantTransactionID>
        <paymentID>d3115ac5-7708-41bd-9d48-82737409f12a</paymentID>
        <userID>3e4772d0-72de-4eea-ab13-223c6d</userID>
        <paymentProvider>
            <key>152</key>
            <value>Astropay</value>
        </paymentProvider>
        <amount currencyCode="BRL">10.01</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>0ace6dad-ebe3-4d32-8c54-e47b85b59159</id>
            <definition>
                <key>30</key>
                <value>RedirectURLCreated</value>
            </definition>
            <createdOn>2017-09-08T10:28:49.6629491Z</createdOn>
            <description>https://test2.backend.cqrpayments.com/WebMockProviders/AstropayFrontend/Index?x_invoice=d3115ac5-7708-41bd-9d48-82737409f12a</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>RedirectionUrl</key>
                    <value>https://test2.backend.cqrpayments.com/WebMockProviders/AstropayFrontend/Index?x_invoice=d3115ac5-7708-41bd-9d48-82737409f12a</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">2.66</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>BankName</key>
                <value>Itau</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>d3115ac5-7708-41bd-9d48-82737409f12a</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>19910258</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Refund

For the refund of a AstropayBankTransferRedirectDeposit, please refer to BankTransferRefund.

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 for a successful payment:

<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>AstropayCardDepositShop</shopID>
              <paymentMethod>
                     <key>264</key>
                     <value>BankTransferRedirectDeposit</value>
              </paymentMethod>
              <merchantTransactionID>31cda417-6e0b-4230-8f9c-d6d18b6c918d</merchantTransactionID>
              <paymentID>ac2b47ef-3565-483f-9f9e-607a02b83e75</paymentID>
              <userID>8e2a3fa7-f500-43d9-81b2-aadb78</userID>
              <paymentProvider>
                     <key>152</key>
                     <value>Astropay</value>
              </paymentProvider>
              <amount currencyCode="EUR">15.0000</amount>
              <creationType>
                     <key>1</key>
                     <value>User</value>
              </creationType>
              <userIP>127.0.0.1</userIP>
              <state>
                     <id>5c2b6382-8547-4a54-96fa-cf4b70fd0458</id>
                     <definition>
                           <key>29</key>
                           <value>DepositedByProvider</value>
                     </definition>
                     <createdOn>2017-09-08T14:58:16.057</createdOn>
                     <paymentStateDetails>
                           <detail xsi:type="keyStringValuePair">
                                  <key>ProviderErrorMessage</key>
                                  <value>this field will not be reacted on in case result is 9</value>
                           </detail>
                     </paymentStateDetails>
              </state>
              <isExecuted>true</isExecuted>
              <baseAmount currencyCode="EUR">15.0000</baseAmount>
              <paymentDetails>
                     <detail xsi:type="keyStringValuePair">
                           <key>ProviderExternalID</key>
                           <value>ac2b47ef-3565-483f-9f9e-607a02b83e75</value>
                     </detail>
                     <detail xsi:type="keyStringValuePair">
                           <key>BankName</key>
                           <value>Itau</value>
                     </detail>
                     <detail xsi:type="keyStringValuePair">
                           <key>ProviderTransactionID</key>
                           <value>89794161</value>
                     </detail>
              </paymentDetails>
              <paymentAccount>
                     <paymentAccountID>0</paymentAccountID>
              </paymentAccount>
       </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for a failed payment:

<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>AstropayCardDepositShop</shopID>
              <paymentMethod>
                     <key>264</key>
                     <value>BankTransferRedirectDeposit</value>
              </paymentMethod>
              <merchantTransactionID>e20df281-2bec-433c-ae48-4862590dc0c4</merchantTransactionID>
              <paymentID>f713c0c1-4f6b-4048-89f4-9f034f364976</paymentID>
              <userID>bdef04ed-01ae-43cf-b5c3-07ea58</userID>
              <paymentProvider>
                     <key>152</key>
                     <value>Astropay</value>
              </paymentProvider>
              <amount currencyCode="EUR">14.9900</amount>
              <creationType>
                     <key>1</key>
                     <value>User</value>
              </creationType>
              <userIP>127.0.0.1</userIP>
              <state>
                     <id>59adedbd-90ad-4d56-aaa3-5f668f26fd97</id>
                     <definition>
                           <key>100</key>
                           <value>RefusedByProvider</value>
                     </definition>
                     <createdOn>2017-09-08T09:55:26.393</createdOn>
                     <paymentStateDetails>
                           <detail xsi:type="keyStringValuePair">
                                  <key>ProviderErrorMessage</key>
                                  <value>cc_rejected_insufficient_amount</value>
                           </detail>
                           <detail xsi:type="keyIntValuePair">
                                  <key>PaymentStateReasonID</key>
                                  <value>1</value>
                           </detail>
                     </paymentStateDetails>
              </state>
              <isExecuted>false</isExecuted>
              <baseAmount currencyCode="EUR">14.9900</baseAmount>
              <paymentDetails>
                     <detail xsi:type="keyStringValuePair">
                           <key>ProviderExternalID</key>
                           <value>f713c0c1-4f6b-4048-89f4-9f034f364976</value>
                     </detail>
                     <detail xsi:type="keyStringValuePair">
                           <key>BankName</key>
                           <value>Itau</value>
                     </detail>
                     <detail xsi:type="keyStringValuePair">
                           <key>ProviderTransactionID</key>
                           <value>99672376</value>
                     </detail>
              </paymentDetails>
              <paymentAccount>
                     <paymentAccountID>0</paymentAccountID>
              </paymentAccount>
       </payment>
</handlePaymentStateChangedNotificationRequest>

Test data for provider testing

The information provided below works for any payment method in Brazil, including Pix and Boleto.

Error CodeError descriptionHow to reproduce
530User greylistedPlease use the x_cpf = 42969875853
508The user limit has been exceededTest with any x_cpf not blocked, for example 37697389932 and send x_amount greatear than USD 1.000
518Too many consecutive attempts for user (Velocity Check)Create at least 10 deposits with the same x_email on a period of 3 minutes or less. If you can’t create that many deposits in your tests let me know and I will reduce it, but otherwise it can affect your other testing.
503User blacklistedPlease use the x_cpf = 55474193971
504User unauthorized due to cadastral situationPlease use the x_cpf = 69230047210
502User unauthorizedPlease use the x_cpf = 61695486145