HiPay Deposit

The following method IDs are covered in this section:

ID

Name

Credit/Debit State

Reversal State

180

HipayDeposit

AuthorisedByProvider (13)

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

User should be redirected to the external payment provider where payment should be confirmed. The provider will redirect the user back to MerchantNotificationUrl or one of SuccessPageURL/ CancelPageUrl/ ErrorPageUrl depending on input parameters sent. The confirmation of payment will come via an asynchronous notification.

Redirect Integration

Currently not supported.

Backend2BackendIntegration

The following parameters are mandatory for this payment method and must be provided in initiatePaymentRequest:

Parameter

Value

userIP

The IP of the user in IPv4 format.
Note: IP addresses in IPv6 format are not supported by the provider and therefor the initiatePaymentRequests would be refused.

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)

value

MerchantNotificationUrl
(string, required)

The URL to redirect user to merchant in case of Success/Cancel/Error

SuccessPageUrl (string, required if MerchantNotificationUrl is not provided)

The URL to redirect user in case of successful payment

CancelPageUrl (string, required if MerchantNotificationUrl is not provided)

The URL to redirect user in case of cancellation

ErrorPageUrl (string, required if MerchantNotificationUrl is not provided)

The URL to redirect user in case of error

cultureInfo (string, required)

Culture info should be in the format of ex: fr_BE

PaymentDescriptionLanguageCode (string, required)

The language of the user on the merchant side, used for localizing the UI displayed to the user

PaymentDescription (string, required)

The payment description

EmailAddress (string, required)

Email address of user used on HiPay

PaymentCategoryID (string)

PaymentCategoryID

PaymentRating (string)

PaymentRating

HeaderImageUrl (string)

Image displayed in the header of provider page. The image should be in .jpg format only.

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>YourMerchantID</merchantID>
  <shopID>YourShopID</shopID>
  <merchantTransactionID>1234jhghjhf5657</merchantTransactionID>
  <paymentMethodID>180</paymentMethodID>
  <amount currencyCode="EUR">10</amount>
  <userID> CQRB2BTestMerchantSystemUser</userID>
  <userData />
  <userIP>10.8.161.106</userIP>
  <userSessionID> ghdhtyglsikedrf </userSessionID>
  <creationTypeID>1</creationTypeID>
  <specificPaymentData>
    <data xsi:type="keyStringValuePair">
      <key>SuccessPageUrl</key>
      <value>http://successpage.url</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>CancelPageUrl</key>
      <value>http://cancelpage.url</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>PaymentDescriptionLanguageCode</key>
      <value>EN</value> 
    </data>     
    <data xsi:type="keyStringValuePair">
      <key>cultureInfo</key>
      <value>en_US</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>EmailAddress</key>
      <value>[email protected]</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>PaymentDescription</key>
      <value>HiPay payment</value>
    </data>                
  </specificPaymentData>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
  <payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <merchantID>YourMerchantID</merchantID>
    <shopID>YourShopID</shopID>
    <paymentMethod>
      <key>180</key>
      <value>HipayDeposit</value>
    </paymentMethod>
    <merchantTransactionID>1255jhgujhf5617</merchantTransactionID>
    <paymentID>9d653db5-6046-4793-98bb-d3e1a1e5354b</paymentID>
    <userID>CQRB2BTestMerchantSystemUser</userID>
    <paymentProvider>
      <key>132</key>
      <value>Hipay</value>
    </paymentProvider>
    <amount currencyCode="EUR">20</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>10.8.161.106</userIP>
    <state>
      <id>73ab0cff-8057-4c38-8096-b75eb5321307</id>
      <definition>
        <key>30</key>
        <value>RedirectURLCreated</value>
      </definition>
      <createdOn>2014-06-24T10:51:38.7564513Z</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>RedirectionUrl</key>                     <value>http://dev.backend.cqrpayments.com/WebMockProviders/Hipay/HipayAuthorization.aspx?transactionId=232</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>false</isExecuted>
    <baseAmount currencyCode="EUR">20</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>Description</key>
        <value>HiParty payment</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderAccountUserEmail</key>
        <value>[email protected]</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>303</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.

Example handlePaymentStateChangedNotificationRequest:

<?xml version="1.0" encoding="UTF-8"?><handlePaymentStateChangedNotificationRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>BPTY</merchantID>
<shopID>HipayShop</shopID>
<paymentMethod>
<key>180</key>
<value>HipayDeposit</value>
</paymentMethod>
<merchantTransactionID>14042971348582453</merchantTransactionID>
<paymentID>df54acc1-dfe0-4f24-b761-ee1b2a0b6691</paymentID>
<userID>43562846</userID>
<paymentProvider>
<key>132</key>
<value>Hipay</value>
</paymentProvider>
<amount currencyCode="EUR">11.4000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>10.8.162.248</userIP>
<state>
<id>a6fc56f7-3d0f-45b8-8de8-bce1512d5558</id>
<definition>
<key>100</key>
<value>AuthorisedByProvider</value>
</definition>
<createdOn>2014-07-02T10:32:22.82</createdOn>
<paymentStateDetails xsi:nil="true"/>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">11.4000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>236</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderAccountUserEmail</key>
<value>[email protected]</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>

Possible payment states in initiatePaymentResponse:

Payment States

Description

RefusedByPaymentScoring(121)

Error state; Refused by the PXP Financial Risk System

DuplicatePaymentValidationFailed(369)

Error state; Another payment with the same id found

RedirectURLCreated(30)

OK state; Redirect user to the URL

InitiateRequestProviderCommunicationErrorOccurred(325)

Error state; Communication error with provider occurred during payment initiation

Possible payment states in notification (confirmation of payment is received asyncronous and are configurable):

Payment States

Description

AuthorisedByProvider(13)

Success state; Payment have been successfully executed (Executed state)

CapturedByProvider(27)

Success state: Confirmation state that can be received only after AuthorisedByProvider state

CaptureRefused(36)

Refused state: Payment confirmation failed.Can happen after AuthorisedByProvider

RefusedByProvider(100)

Refused state: Payment was not accepted.

Provider Specific Error Codes:

ErrorCode

Error Message

0

N/A (Success)

1

Authentication Failed

2

Missing parameter. Listed

3

Invalid parameter.Listed

7

Object not found

13

Something went wrong , please contact [email protected]

409

Param is not valid.Listed