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 |
Updated almost 6 years ago