CashServices redirect deposits (Servipag, WebPay, BankTransfer)

Servipag is an online local payment provider which offers deposit payment solutions through different banks and retail stores throughout Chile. Their website processes payments for various merchants: cell phone companies, utilities, satellite TV, schools, etc. Customers process payments through either an account or a credit card.

Webpay is the payment portal of Transbank, processing credit and debit card transactions for all banks in Chile. Webpay provides merchants with POS machines and a payment API for online purchases. Once implemented on a merchant’s website, Webpay permits customers to pay through:

  • Debit card: all debit cards issued by Chilean banks
  • Credit card: Visa, MasterCard, MAGNA, AMEX, DINERS (both national & international)

Local Bank Transfer is a secure payment method for both face-to-face and electronic transfers. The customer makes a deposit at any Chilean banking institution. Funds are credited to the user’s account within one business day.

The following method IDs are covered in this section:

IDNameCredit/Debit State
275ServipagDepositDepositedByProvider(29)
276WebPayDepositDepositedByProvider(29)
278CashServicesBankTransferDepositDepositedByProvider(29)

Payment method interaction type: Redirection to External Payment Provider (see Interaction Types). After choosing the payment method on the merchant’s site, the user is redirected to the provider’s site and then to the Servipag/WebPay site for execution. The provider sends a notification for successful or refused payments.

Redirect Integration

Currently not supported.

Backend2BackendIntegration

The following fields must be sent in initiatePaymentRequest.xml with special format:

Key (type, required)Description
userID (string, required)The Sportingbet client ID. Must be numeric (no points or commas).
amount (long integer, required)Deposit amount. Must be numeric (no decimal places for Chilean pesos).

The following parameters must be provided in initiatePaymentRequest.userData:

Key (type, required)Description
identificationNumber (string, required)The user’s identification number: 7–8 digits, a hyphen (-), and a digit (0–9) or K.
email (string)The user’s email address
UserFirstname (string)The user’s first name
UserLastname (string)The user’s last name
username (string)The user’s username

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>MyMerchantID</merchantID>
  <shopID>MyShopID</shopID>
  <merchantTransactionID>h10fl2d7-trt5-te64-t7t9-wte6c1b3557a</merchantTransactionID>
  <paymentMethodID>275</paymentMethodID>
  <amount currencyCode="CLP">10000</amount>
  <userID>6895456</userID>
  <userData>
    <username>bz_t1test2test3test4test5test6</username>
    <firstname>Marcos Ignacio</firstname>
    <lastname>Perez Guevara</lastname>
    <email>[email protected]</email>
    <identificationNumber>76149769-k</identificationNumber>
  </userData>
  <userIP>127.0.0.1</userIP>
  <userSessionID>0bde6d65-1c02-42c8-9a4f-149f2c5779fc</userSessionID>
  <creationTypeID>1</creationTypeID>
  <specificPaymentData>
    <data xsi:type="keyStringValuePair">
      <key>HomePageUrl</key>
      <value>http://home/?a=b&amp;c=d</value>
    </data>
  </specificPaymentData>
</initiatePaymentRequest>

(Additional samples for WebPayDeposit and CashServicesBankTransferDeposit follow the same structure with paymentMethodID 276 and 278, respectively.)

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>MyMerchantID</merchantID>
    <shopID>MyShopID</shopID>
    <paymentMethod>
      <key>275</key>
      <value>ServipagDeposit</value>
    </paymentMethod>
    <merchantTransactionID>h10fl2d7-trt5-te64-t7t9-wte6c1b3557a</merchantTransactionID>
    <paymentID>140ed053-16af-4ae8-8e6f-6f56be47d9cb</paymentID>
    <userID>6895456</userID>
    <paymentProvider>
      <key>157</key>
      <value>CashServices</value>
    </paymentProvider>
    <amount currencyCode="CLP">10000</amount>
    <state>
      <id>effd8564-cde9-4dfa-9b95-e4816abd051e</id>
      <definition>
        <key>30</key>
        <value>RedirectURLCreated</value>
      </definition>
      <createdOn>2017-09-19T09:21:11.8709727Z</createdOn>
      <description>The URL to redirect the customer to</description>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>RedirectionUrl</key>
          <value>The URL to redirect the customer to</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>PaymentStateReasonID</key>
          <value>1</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>false</isExecuted>
  </payment>
</initiatePaymentResponse>

(Additional response samples for WebPayDeposit and CashServicesBankTransferDeposit follow the same structure with <key> values 276 and 278.)

Notifications

Notifications use the standard background mechanism for payment state changes. See PaymentStateChangedNotification.

The provider notifies PXP Financial for:

StateDescription
DepositedByProviderSuccess state
RefusedByProviderPayment has been rejected by the provider.

Example handlePaymentStateChangedNotificationRequest:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest 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>MyMerchantID</merchantID>
    <shopID>MyShopID</shopID>
    <paymentMethod>
      <key>275</key>
      <value>ServipagDeposit</value>
    </paymentMethod>
    <merchantTransactionID>h10fl2d7-trt5-te64-t7t9-wte6c1b3557a</merchantTransactionID>
    <userID>6895456</userID>
    <state>
      <definition>
        <key>30</key>
        <value>DepositedByProvider</value>
      </definition>
      <paymentStateDetails>
        <detail xsi:type="keyIntValuePair">
          <key>PaymentStateReasonID</key>
          <value>1</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
  </payment>
</handlePaymentStateChangedNotificationRequest>