HiPay Deposit

The following method IDs are covered in this section:

IDNameCredit/Debit StateReversal State
180HipayDepositAuthorisedByProvider (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:

ParameterValue
userIPThe 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>bb_btest[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 StatesDescription
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 StatesDescription
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:

ErrorCodeError Message
0N/A (Success)
1Authentication Failed
2Missing parameter. Listed
3Invalid parameter.Listed
7Object not found
13Something went wrong , please contact [email protected]
409Param is not valid.Listed