ecoPayz Deposit
The following method IDs are covered in this section:
ID | Name | Credit/Debit State | Reversal State |
---|---|---|---|
221 | ecoPayzDeposit | DepositedByProvider (29) | Cancelled (113) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
The user should be redirected to the external payment provider where the payment should be confirmed by her/him. After that the ecoPayz provider will send a notification to PXP Financial and the merchant will be asked to confirm or reject the payment. The merchant’s confirmation of the payment will come via a synchronous notification. After the merchant confirms the payment, the ecoPayz provider will redirect the user back to either the SuccessPageURL or the ErrorPageUrl.
Redirect Integration
Currently not supported.
Backend2Backend Integration
The following table contains the fields to be sent in initiatePaymentRequest.specificPaymentData xml section:
Parameter | Description | Required | DataType |
---|---|---|---|
SuccessPageUrl | The URL to redirect user in case of a successful payment | Yes | String |
ErrorPageUrl | The URL to redirect user in case of a successful payment | Yes | String |
CustomerID | ID of the customer on merchant. It will be transferred to the provider and it will be displayed to the customer. | No | String |
PaymentDescription | Description of the payment. It will be transferred to the provider and it will be displayed to the customer. | No | String |
Example initiatePaymentRequest:
<?xml version="1.0" encoding="utf-8"?>
<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>AcceptDemo</merchantID>
<shopID>150001</shopID>
<merchantTransactionID>d253b911-bdb9-4bb6-84e2-8eb7adea69e2</merchantTransactionID>
<paymentMethodID>221</paymentMethodID>
<amount currencyCode="EUR">10.00</amount>
<userID>5f25cb6c-cd65-4713-859e-9be9cb2bd959</userID>
<userData>
<username>5f25cb6c-cd65-4713-859e-be9cb2bd959</username>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>dfcf02a0-3dd1-496c-b76e-55d1a521494a</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://merchant.com/result?param1=success</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</q2:key>
<value>http://merchant.com/result?param1=error</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>Free text string, maximum 255 characters. Must not contain sensitive data.</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CustomerID</key>
<value>payer123</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<initiatePaymentResponse 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>AcceptDemo</merchantID>
<shopID>150001</shopID>
<paymentMethod>
<key>221</key>
<value>ecoPayzDeposit</value>
</paymentMethod>
<merchantTransactionID>d253b911-bdb9-4bb6-84e2-8eb7adea69e2</merchantTransactionID>
<paymentID>cbf84d6e-1821-4052-9db9-6bbb48092ac0</paymentID>
<userID>5f25cb6c-cd65-4713-859e-9be9cb2bd959</userID>
<paymentProvider>
<key>147</:key>
<value>ecoPayz</value>
</paymentProvider>
<amount currencyCode="EUR">10.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>b1e00626-ea7d-4017-9f65-020f6b55b6ff</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2016-07-28T12:49:37.5555243Z</createdOn>
<description>http://ecopayz.com/Index?PaymentPageID=2009&TxID=cbf84d6e-1821-4052-9db9-6bbb48092ac0&MerchantAccountNumber=110776&Currency=EUR&Amount=10.00&CustomerIdAtMerchant=payer123&MerchantFreeText=Free+text+string,+maximum+255+characters.+Must+not+contain+sensitive+data.&OnSuccessUrl=http://merchant.com/result?param1=success&OnFailureUrl=http://merchant.com/result?param1=error&CancellationUrl=http://dev.backend.cqrpayments.com/ProviderListeners/Ecopayz/Notification&CallbackUrl=http://dev.backend.cqrpayments.com/ProviderListeners/Ecopayz/Notification&TransferUrl=http://dev.backend.cqrpayments.com/ProviderListeners/Ecopayz/Notification&Checksum=ddd888ae504a9a05a0a77f57be7c57f9</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://ecopayz.com/Index?PaymentPageID=2009&TxID=cbf84d6e-1821-4052-9db9-6bbb48092ac0&MerchantAccountNumber=110776&Currency=EUR&Amount=10.00&CustomerIdAtMerchant=payer123&MerchantFreeText=Free+text+string,+maximum+255+characters.+Must+not+contain+sensitive+data.&OnSuccessUrl=http://merchant.com/result?param1=success&OnFailureUrl=http://merchant.com/result?param1=error&CancellationUrl=http://dev.backend.cqrpayments.com/ProviderListeners/Ecopayz/Notification&CallbackUrl=http://dev.backend.cqrpayments.com/ProviderListeners/Ecopayz/Notification&TransferUrl=http://dev.backend.cqrpayments.com/ProviderListeners/Ecopayz/Notification&Checksum=ddd888ae504a9a05a0a77f57be7c57f9</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>ProviderExternalID</key>
<value>cbf84d6e-1821-4052-9db9-6bbb48092ac0</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Possible payment states in initiatePaymentResponse:
Payment States | Description |
---|---|
DuplicatePaymentValidationFailed (369) | A payment with the same merchantTransactionID already exists. |
RedirectURLCreated (30) | This is the regular correct state. Redirect the user to the URL. |
A notification is received from provider and a notification is sent to merchant to confirm the payment.
Possible payment states after the provider notification was processed
Payment States | Description |
---|---|
InquiryRequestReceivedFromProvider (529) | The payment was confirmed by customer on provider side and merchant will be notified to confirm or abort payment. The merchant will receive also the following additional information about the customer from provider in order so that the merchant can perform risk scoring: Payment details: ‘UserFirstname’, ‘UserLastname’, ‘UserPostalCode’, ‘ClientIP’, ‘UserCountry’ |
RefusedByProvider | Error state. Payment was refused by provider. Error code received from provider will be provided as a payment state detail ‘ProviderErrorCode’ and ‘ProviderErrorMessage’ |
DepositErrorReportedByProvider (152) | Error state. Payment was not processed by provider. Reason will be provided as a payment state detail ‘ProviderStatusCode’ and ‘ProviderStatusDescription’ |
AbortedByCustomer (101) | Error state. User aborted the payment. Redirect user to cancel page. |
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 with state=InquiryRequestReceivedFromProvider:
<?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>AcceptDemo</merchantID>
<shopID>150001</shopID>
<paymentMethod>
<key>221</key>
<value>ecoPayzDeposit</value>
</paymentMethod>
<merchantTransactionID>d253b911-bdb9-4bb6-84e2-8eb7adea69e2</merchantTransactionID>
<paymentID>cbf84d6e-1821-4052-9db9-6bbb48092ac0</paymentID>
<userID>5f25cb6c-cd65-4713-859e-9be9cb2bd959</userID>
<paymentProvider>
<key>147</key>
<value>ecoPayz</value>
</paymentProvider>
<amount currencyCode="EUR">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>b361011c-5806-4992-856c-0eacc5a6ac46</id>
<definition>
<key>529</key>
<value>InquiryRequestReceivedFromProvider</value>
</definition>
<createdOn>2016-08-11T12:58:11.2806229Z</createdOn>
<description>Status:'4'</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderStatusCode</key>
<value>4</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderStatusDescription</key>
<value>TransactionRequires MerchantConfirmation</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">10.0000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>ce5cdba8-3cfc-4e26-9100-2e114194971f</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UserFirstname</key>
<value>John</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UserLastname</key>
<value>Doe</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UserPostalCode</key>
<value>12345</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ClientIP</key>
<value>127.0.0.1</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UserCountry</key>
<value>GB</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Example handlePaymentStateChangedNotificationResponse (successful case):
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationResponse
xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<resultCode>
<key>0</key>
<value>ProcessedSuccessfully</value>
</resultCode>
<resultMessage>Approved payment</resultMessage>
</handlePaymentStateChangedNotificationResponse>
Example handlePaymentStateChangedNotificationResponse (error case):
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationResponse
xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<resultCode>
<key>15</key>
<value>BlockedByMerchant</value>
</resultCode>
<resultMessage>Rejected payment</resultMessage>
</handlePaymentStateChangedNotificationResponse>
Possible payment states after handlePaymentStateChangedNotificationResponse:
Payment States | Description |
---|---|
DepositedByProvider (29) | Success state |
RefusedByMerchant (342) | Error state |
Updated almost 6 years ago