VivaPayments Deposit

Viva Wallet is a payment solution that allows consumers to make easy, instant and secure payments at participating ecommerce merchants over the Internet. Viva is a popular payment method in Greece.

The following method IDs are covered in this section:

IDNameCredit/Debit StateReversal State
214VivaPaymentsDepositDepositedByProvider (29)

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

Payment flow

Once the customer has chosen to pay with Viva ("Viva Wallet"), he is redirected to Viva payments and has to sign in to his Viva wallet account. User then has to complete the payment by selecting a funding option and then user is redirected back to the merchant´s page with transaction status.

📘

Funding methods and their Configuration

The funding options available within Viva are available wallet balance, card payments, online banking, pay@home and cash payments at Viva spots.

It is possible to disable the following payment options:

  • funding option IVR (pay over phone)

  • cash. The user will not have the option to pay in cash at Viva Spots, and the checkout page will not display the cash and e-Banking/phone banking options.

    However, the customer will still be able to make a payment from his bank if he/she knows how to use the VivaPayments order code on their online banking. In order for the cash tab to be available, the PaymentTimeOut option should be at least one hour.

  • card: Card payments by credit, debit or prepaid card can be disabled. In that cse, the checkout page will not display the card payment option.

  • pay@home: It is possible to disable the Pay@home service. In order for the Pay@home tab to be available the PaymentTimeOut should be at least 2 working days.

  • exact amount: It is possible to disable the exact amount and allow any amount, irrespective of the requested amount. It will also allow multiple payments to be performed for the same order.

In particular, when the payment order is created before redirecting the customer to Viva payments, an OrderCode is issued.

Card payments
For card payments, customer first name, last name and eMail address - entered by the user during payment - are returned to the merchant.

Bank Transfer
When selecting BankTransfer (DIAS), the user makes a bank transfer to VIVA concerning the issued OrderCode, and the money is deposited to the merchant´s Viva Wallet on the next day. No information regarding the user´s bank account details is being passed.

With bank transfer it is possible, that the amount is different than initiated at merchant site. E.g. customer initiates a deposit of 100 EUR at merchants site, however, transfers only 50 EUR from his bank account. PXP Financial will send a notification for state DepositedByProvider with about 50 EUR.

While it is possible to disable to BankTransfer funding option, it is however still possible that customers copy an OrderCode - even an old, expired one - and transfer money to Viva.

Cash Transfer @ Viva Spot
Customers can transfer a different amount than the one initiated at merchant site or Viva if the order is created with an open amount. If the order is created with a fixed amount, they cannot. Customers also need a valid, active, unexpired order. The amount cannot be lower than the commission/fee (typically around 0.30 EUR) and there´s no upper limit. Large amounts might be denied by the Viva Spot.

When the user decides to pay at a Viva spot, payments are executed (notified) instantly.

Cancellation, Refund and Capturing

The payment method includes cancellations, refunds and capturing. For credit card payments (full) cancellation is possible before capturing; after capturing full or partial refunds are possible. For wallet, cash and Dias transactions capturing does not apply, and cancellation is possible at any time.

For Wallet transaction refund is applied, for Cash transaction only cancellation (in case of error). For BankTransfer (Dias) transactions cancellation/refund is not possible.

Chargebacks

Chargebacks are possible as well.

Notification
For card deposits, customer details, card instrument details and error codes are passed in the notification.

Redirect Integration

Currently not supported.

Backend2BackendIntegration

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

key (value type, account type, required)value
PaymentDescription
(string)
Description of the payment, this will be passed as CustumerTrns in the CreateOrder call.
DisableExactAmount (Boolean)If this parameter is passed with value true, the Order can accept any amount, irrespective of the RequestAmount option. It will also allow multiple payments to be performed for the same Payment Order.
ExpirationDate (DateTime)Same as PaymentTimeOut (below) but expressed in absolute datetime in ISO 8601 format. Note that if set, ExpirationDate overrides the PaymentTimeOut option.
DisableIVR (Boolean)If this parameter is passed with value true, the customer will not have the option to pay over the phone (IVR).
DisableCash (Boolean)If this parameter is passed with value true, the customer will not have the option to pay in cash at a Viva Spot, and the checkout page will not display the Cash and E-Banking/Phone banking options. Default value is false.
Note: Even if this option is set and the E-Banking/Phone banking options will not be displayed, the customer will still be able to make a payment from these channels if they know how to use the Viva Payments Order Code on their e-banking. In order for the Cash tab to be available, the PaymentTimeOut value should be at least one hour.
DisableCard (Boolean)If this parameter is passed with value true, the customer will not have the option to pay by (credit, debit or prepaid) card, and the checkout page will not display the Card payment option. Default value is false.
DisablePayAtHome (Boolean)If this parameter is passed with value true, the customer will not have the option to pay using the Pay@Home service.
Note: In order for the Pay@Home tab to be available the PaymentTimeOut option should also be at least two working days.
PaymentTimeOut (Boolean)By default, the life span of every Payment Order is 300 seconds (5 minutes). This is the time given to the cardholder to complete an online payment. If the cardholder does not complete the payment within the given time frame, the Payment Order is automatically cancelled. By using this parameter, you can define a different life span for your Payment Order.

Note 1: Value is in seconds and can be either smaller or greater than 300 secs.

Note 2: Use value 65535 if you want your Payment Order to never expire.
CustomerName (String)The cardholder's full name, in order to be filled in on the payment form.
CustomerEmail (String)The cardholder's e-mail address, in order to be filled in on the payment form.
TelephoneNumber (String)The cardholder's telephone number, in order to be filled in on the payment form.
SuccessPageUrl (String)URL, to which the client will be transferred in case that she confirms the payment (but it does not guarantee that the payment is made for real)
CancelPageUrl (String)URL, to which the client will be transferred in case that she decides not to pay

Example initiatePaymentRequest:

<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns="http://www.cqrpayments.com/PaymentProcessing">
  <merchantID>B2BTestMerchant</merchantID>
  <shopID>150001</shopID>
  <merchantTransactionID>aba088be-ba96-4fc8-8fb4-6612decc862c</merchantTransactionID>
  <paymentMethodID>214</paymentMethodID>
  <amount currencyCode="EUR">10.00</amount>
  <userID>4a551f11-b9d8-4f88-9c71-89aaa12cee06</userID>
  <userData>
    <username>4a551f11-b9d8-4f88-9c71-89aaa12cee06</username>
  </userData>
  <userIP>127.0.0.1</userIP>
  <userSessionID>7a4cd7ab-4664-483f-9ca6-c69372c82971</userSessionID>
  <creationTypeID>1</creationTypeID>
  <specificPaymentData>
    <data xsi:type="keyDateTimeValuePair">
      <key>ExpirationDate</key>
      <value>2020-08-01T23:15:00</value>
    </data>
    <data xsi:type="keyBooleanValuePair">
      <key>DisableExactAmount</key>
      <value>false</value>
    </data>
    <data xsi:type="keyBooleanValuePair">
      <key>DisablePayAtHome</key>
      <value>false</value>
    </data>
    <data xsi:type="keyBooleanValuePair">
      <key>DisableIVR</key>
      <value>false</value>
    </data>
    <data xsi:type="keyBooleanValuePair">
      <key>DisableCash</key>
      <value>false</value>
    </data>
    <data xsi:type="keyBooleanValuePair">
      <key>DisableCard</key>
      <value>false</value>
    </data>
    <data xsi:type="keyIntValuePair">
      <key>PaymentTimeOut</key>
      <value>65535</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>CustomerName</key>
      <value>John Smith</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>CustomerEmail</key>
      <value>[email protected]</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>TelephoneNumber</key>
      <value>2131234567</value>
    </data>
  </specificPaymentData>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <payment xsi:type="paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>214</key>
      <value>VivaPaymentsDeposit</value>
    </paymentMethod>
    <merchantTransactionID>aba088be-ba96-4fc8-8fb4-6612decc862c</merchantTransactionID>
    <paymentID>99f2cd5e-655f-4d3f-906d-c85e642d4a93</paymentID>
    <userID>4a551f11-b9d8-4f88-9c71-89aaa12cee06</userID>
    <paymentProvider>
      <key>144</key>
      <value>VivaPayments</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.00</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>d4c5fe74-8f4a-4140-8d19-b32d0b0fd88d</id>
      <definition>
        <key>30</key>
        <value>RedirectURLCreated</value>
      </definition>
      <createdOn>2016-04-05T10:07:19.3080949Z</createdOn>
      <description>http://test.backend.cqrpayments.com/WebMockProviders/VivaDepositRedirect.aspx?ref=1709426567</description>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>RedirectionUrl</key>
          <value>http://test.backend.cqrpayments.com/WebMockProviders/VivaDepositRedirect.aspx?ref=1709426567</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>PaymentStateReasonID</key>
          <value>1</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>false</isExecuted>
    <baseAmount currencyCode="EUR">10</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderOrderID</key>
        <value>1709426567</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>99f2cd5e-655f-4d3f-906d-c85e642d4a93</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0</paymentAccountID>
    </paymentAccount>
  </payment>
</initiatePaymentResponse>

Notifications

The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.

Once PXP Financial is notified by the provider about the state of a payment, we will update the state of the payment and notify the merchant with the below request.

All configured details can be sent to merchant, but depending on transaction type related values vary.

Funding SourceNotification fieldDescription
CardProviderCardTypeIDPossible values: 0 (Visa), 1 (Mastercard), 2 (Diners), 3 (Amex), 4 (Invalid), 5 (Uknown), 6 (Maestro), 7 (Discover), 8 (JCB)

Example handlePaymentStateChangedNotificationRequest for cards:

Please note the fields ProviderCardNumber(with a masked credit card number), ProviderCardIssuingBank, ProviderCardCountryCode in the notification below.

<?xml version="1.0" encoding="utf-8"?>
<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>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>214</key>
      <value>VivaPaymentsDeposit</value>
    </paymentMethod>
    <merchantTransactionID>866cae0a-d9ce-457c-bc1e-a0ae6580b310</merchantTransactionID>
    <paymentID>89c1538a-1cde-499e-a832-3ac6e6ae64bb</paymentID>
    <userID>f5bd7eea-3b7a-44ad-9003-a1fc23b89e7b</userID>
    <paymentProvider>
      <key>144</key>
      <value>VivaPayments</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>53dad97a-5f7e-4057-9980-594ac8229c4c</id>
      <definition>
        <key>29</key>
        <value>DepositedByProvider</value>
      </definition>
      <createdOn>2016-04-11T15:44:33.88</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyIntValuePair">
          <key>ProviderTransactionTypeID</key>
          <value>5</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ProviderCardTypeID</key>
          <value>1</value>
        </detail>
        <detail xsi:type="keyDateTimeValuePair">
          <key>ProviderInsDate</key>
          <value>2012-12-24T13:21:44.323</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderTransactionIDString</key>
          <value>5cc8378f-0dca-4ccd-845d-c7aa671f0742</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderStatusCode</key>
          <value>F</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorMessage</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorCode</key>
          <value>0</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderSourceCode</key>
          <value>4791</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerID</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerSourceCode</key>
          <value />
       </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerEmail</key>
          <value>[email protected]</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerPhone</key>
          <value>+3592131234567</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerFullName</key>
          <value>Customer Name</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardToken</key>
          <value>sample string</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardNumber</key>
          <value>411111XXXXXX1111</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardIssuingBank</key>
          <value>EFG EUROBANK</value>
       </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardCountryCode</key>
          <value>GR</value>
        </detail>
        <detail xsi:type="keyDecimalValuePair">
          <key>ProviderCommission</key>
          <value>3.210000000</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10.0000</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>89c1538a-1cde-499e-a832-3ac6e6ae64bb</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>5cc8378f-0dca-4ccd-845d-c7aa671f0742</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderOrderID</key>
        <value>429267078</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0</paymentAccountID>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for Viva Spot:

Please note the fields ProviderResellerID and ProviderResellerSourceCode in the message below.

<?xml version="1.0" encoding="utf-8"?>
<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>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>214</key>
      <value>VivaPaymentsDeposit</value>
    </paymentMethod>
    <merchantTransactionID>4ffa712f-5486-4764-9e99-3b670e60ebde</merchantTransactionID>
    <paymentID>6fcf644c-4f07-4ca0-a82e-cc597fa046c0</paymentID>
    <userID>91a1e22c-68d7-4601-926f-251d03e2cce2</userID>
    <paymentProvider>
      <key>144</key>
      <value>VivaPayments</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>5cfef7cb-cd3d-4678-a312-0f85abdc2aa6</id>
      <definition>
        <key>29</key>
        <value>DepositedByProvider</value>
      </definition>
      <createdOn>2016-04-11T15:46:02.553</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyIntValuePair">
          <key>ProviderTransactionTypeID</key>
          <value>15</value>
        </detail>
        <detail xsi:type="keyDateTimeValuePair">
          <key>ProviderInsDate</key>
          <value>2012-12-24T13:21:44.323</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderTransactionIDString</key>
          <value>1d45b296-9c63-4959-86d2-fdd432d08618</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderStatusCode</key>
          <value>F</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorMessage</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorCode</key>
         <value>0</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderSourceCode</key>
          <value>4791</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerID</key>
          <value>672d9097-68bb-43e2-abe0-2013e5958bce</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerSourceCode</key>
          <value>Default</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerEmail</key>
          <value>[email protected]</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerPhone</key>
          <value>+3592131234567</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerFullName</key>
          <value>Customer Name</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardToken</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardNumber</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardIssuingBank</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardCountryCode</key>
          <value />
        </detail>
        <detail xsi:type="keyDecimalValuePair">
          <key>ProviderCommission</key>
          <value>3.210000000</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10.0000</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>6fcf644c-4f07-4ca0-a82e-cc597fa046c0</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>1d45b296-9c63-4959-86d2-fdd432d08618</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderOrderID</key>
        <value>914297644</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0</paymentAccountID>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example 'handlePaymentStateChangedNotificationRequest' for a DIAS (Banktransfer) payment:

<?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="q1:paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>214</key>
      <value>VivaPaymentsDeposit</value>
    </paymentMethod>
    <merchantTransactionID>4ffa712f-5486-4764-9e99-3b670e60ebde</merchantTransactionID>
    <paymentID>6fcf644c-4f07-4ca0-a82e-cc597fa046c0</paymentID>
    <userID>91a1e22c-68d7-4601-926f-251d03e2cce2</userID>
    <paymentProvider>
      <key>144</key>
      <value>VivaPayments</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>5cfef7cb-cd3d-4678-a312-0f85abdc2aa6</id>
      <definition>
        <key>29</q1:key>
        <value>DepositedByProvider</q1:value>
      </definition>
      <createdOn>2016-04-11T15:46:02.553</q1:createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyIntValuePair">
          <key>ProviderTransactionTypeID</key>
          <value>15</value>
        </detail>
        <detail xsi:type="keyDateTimeValuePair">
          <key>ProviderInsDate</key>
          <value>2012-12-24T13:21:44.323</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderTransactionIDString</key>
          <value>1d45b296-9c63-4959-86d2-fdd432d08618</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderStatusCode</key>
          <value>F</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorMessage</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorCode</key>
         <value>0</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderSourceCode</key>
          <value>4791</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerID</key>
          <value>672d9097-68bb-43e2-abe0-2013e5958bce</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerSourceCode</key>
          <value>Default</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerEmail</key>
          <value>[email protected]</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerPhone</key>
          <value>+3592131234567</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerFullName</key>
          <value>Customer Name</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardToken</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardNumber</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardIssuingBank</key>
          <value />
        </detail>
        <qdetail xsi:type="keyStringValuePair">
          <key>ProviderCardCountryCode</key>
          <value />
        </detail>
        <detail xsi:type="keyDecimalValuePair">
          <key>ProviderCommission</key>
          <value>3.210000000</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10.0000</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>6fcf644c-4f07-4ca0-a82e-cc597fa046c0</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>1d45b296-9c63-4959-86d2-fdd432d08618</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderOrderID</key>
        <value>914297644</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0</paymentAccountID>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for Cash payment:

<?xml version="1.0" encoding="utf-8"?>
<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>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>214</key>
      <value>VivaPaymentsDeposit</value>
    </paymentMethod>
    <merchantTransactionID>14d0ba5c-1abd-4673-a960-9858f2e17c03</merchantTransactionID>
    <paymentID>57b3ab1d-5d2b-4108-b1d1-e3a874d562b3</paymentID>
    <userID>5ca2dc4c-dfba-4ac3-a351-0285d697e1c8</userID>
    <paymentProvider>
      <key>144</key>
      <value>VivaPayments</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>884089c5-d223-4bd0-9050-b335997745c7</id>
      <definition>
        <key>29</key>
        <value>DepositedByProvider</value>
      </definition>
      <createdOn>2016-04-11T15:49:50.57</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyIntValuePair">
          <key>ProviderTransactionTypeID</key>
          <value>16</value>
        </detail>
        <detail xsi:type="keyDateTimeValuePair">
          <key>ProviderInsDate</key>
          <value>2012-12-24T13:21:44.323</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderTransactionIDString</key>
          <value>a0157af5-a3c7-48e1-b7a7-4fe10ca00bf5</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderStatusCode</key>
          <value>F</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorMessage</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorCode</key>
          <value>0</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderSourceCode</key>
          <value>4791</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerID</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerSourceCode</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerEmail</key>
          <value>[email protected]</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerPhone</key>
          <value>+3592131234567</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerFullName</key>
          <value>Customer Name</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardToken</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardNumber</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardIssuingBank</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardCountryCode</key>
          <value />
        </detail>
        <detail xsi:type="keyDecimalValuePair">
          <key>ProviderCommission</key>
          <value>3.210000000</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10.0000</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>57b3ab1d-5d2b-4108-b1d1-e3a874d562b3</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>a0157af5-a3c7-48e1-b7a7-4fe10ca00bf5</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderOrderID</key>
        <value>1738039841</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0</paymentAccountID>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for Wallet:

<?xml version="1.0" encoding="utf-8"?>
<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>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>214</key>
      <value>VivaPaymentsDeposit</value>
    </paymentMethod>
    <merchantTransactionID>a2171245-509f-4a3e-945e-29753d535af8</merchantTransactionID>
    <paymentID>51ee781b-c35d-4013-80af-8a0d36859b38</paymentID>
    <userID>aa3d7a2f-4388-4f56-82cc-0d2d661490cb</userID>
    <paymentProvider>
      <key>144</key>
      <value>VivaPayments</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>96cdcc2d-8228-4886-ad81-16fde259e9b6</id>
      <definition>
        <key>29</key>
        <value>DepositedByProvider</value>
      </definition>
      <createdOn>2016-04-11T15:50:58.713</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyIntValuePair">
          <key>ProviderTransactionTypeID</key>
          <value>9</value>
        </detail>
        <detail xsi:type="keyDateTimeValuePair">
          <key>ProviderInsDate</key>
          <value>2012-12-24T13:21:44.323</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderTransactionIDString</key>
          <value>e7c3cf8f-9616-4367-bfc4-3e7f06c28c7c</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderStatusCode</key>
          <value>F</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorMessage</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderErrorCode</key>
          <value>0</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderSourceCode</key>
          <value>4791</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerID</key>
          <value>672d9097-68bb-43e2-abe0-2013e5958bce</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResellerSourceCode</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerEmail</key>
          <value>[email protected]</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerPhone</key>
          <value>+3592131234567</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCustomerFullName</key>
          <value>Customer Name</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardToken</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardNumber</key>
          <value />
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardIssuingBank</key>
          <value>DE</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderCardCountryCode</key>
          <value />
        </detail>
        <detail xsi:type="keyDecimalValuePair">
          <key>ProviderCommission</key>
          <value>3.210000000</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10.0000</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>51ee781b-c35d-4013-80af-8a0d36859b38</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>e7c3cf8f-9616-4367-bfc4-3e7f06c28c7c</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderWalletID</key>
        <value>638044672600</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderOrderID</key>
        <value>955653442</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>CustomerID</key>
        <value>f340660b-d3e6-4733-8b5f-b9a4574fdc45</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0bd44daa-9310-47bc-898e-a26457d07bfc</paymentAccountID>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Provider Testing

For provider testing, please refer to the test cards you can find in the link below.
https://developer.vivawallet.com/integration-reference/test-cards-and-environments/

For payment with Viva, please use your personal demo viva account (signup here), if you don’t have funds, please send PXP Financial Support your mobile you are using for demo to add funds.