Get an offer
Do have an up-and-running business and want an offer?
Do you have an established and sound business with a large payment volume? Then we’ll make you a customized solution.
Please contact us for a special offer.
Use our Contact SaleThe Redirect Integration option for initiating a new payment involves the redirection of the customer to the Eazypay Hosted Payment Pages from the merchant web site. The merchant application needs to call the PaymentService API to get the redirection URL and any POST data, and additionally will need to process notifications or invoke API methods for checking the payment status afterwards.
Card Payments cover payments with cards belonging to the main card schemes - Visa, Mastercard, Diners, Amex.
Due to the complex lifecycle of card transactions there are a number of different payment methods used:
To initiate a card deposit the initiatePayment web method should be invoked. The following table contains the fields to be sent in the specificPaymentAccountData xml section for card deposits:
key (value type, account type, required) | value |
CardNumber (string,Cards, required) |
PAN, e.g. 4111111111111111 |
CardVerificationCode (string,Cards, conditional) |
CVC, 3 or 4-digit number, e.g. 333 |
HolderName (string,Cards, required) |
Cardholder name, e.g. John Doe |
ExpiryMonth (string,Cards, required) |
Expiration month of the card, e.g. 12 |
ExpiryYear (string,Cards, required) |
Expiration year of the card, e.g. 2019 |
CVC can be configured to be optional or mandatory based on the payment creation type. By default, PaymentService will treat CVC as mandatory.
Card Deposits can also be configured to support Dynamic Descriptors in order to display specific information on the cardholder's statement. Once this has been configured, the key-value PaymentDescription must be provided in the intiatePaymentRequest.specificPaymentData collection up to a length of no more than 25 characters.
Please contact Eazypay Support in order to set this up.
Example initiatePaymentRequest:
curl -X POST \ https://www.eazypay.eu/api/test/payment \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -d '{ "PublicKey": "PUBLICKEY", "PrivateKey": "PRIVATEKEY", "merchantTransactionID": "Uniuqee transaction id", "amount": "12.00", "userID": "userID", "userIP": "127.0.0.1", "userSessionID": "123", "PaymentDescription": "payment description", "CardNumber": "4111111111111111", "CardVerificationCode": "111", "HolderName": "Ciquar Smith", "ExpiryMonth": "01", "ExpiryYear": "2022" }'
field (type, required) | description |
PublicKey (stringID, required) |
Public Key |
PrivateKey (stringID, required) |
Private Key |
merchantTransactionID (stringID, required) |
Merchant’s transaction ID, corresponding to the customer's order or any customer account-related activity at merchant (e.g. payout) |
amount (stringID, required) |
Amount to be charged to the customer credit card or account at provider Note: the amount to be charged includes the shopFee (for description see the following row) Required for all payment methods except credit card verifications |
userID (stringID, required) |
Customer ID |
userIP (IPAddress) |
IP of the customer's browser whcih triggered the payment request |
userSessionID (stringID, required) |
The session ID of the customer at the merchant web site |
PaymentDescription (stringID, required) |
Payment Description |
CardNumber (string,Cards, required) |
PAN, e.g. 4111111111111111 |
CardVerificationCode (string,Cards, conditional) |
CVC, 3 or 4-digit number, e.g. 333 |
HolderName (string,Cards, required) |
Cardholder name, e.g. John Doe |
ExpiryMonth (string,Cards, required) |
Expiration month of the card, e.g. 12 |
ExpiryYear (string,Cards, required) |
Expiration year of the card, e.g. 2019 |
Every card deposit reaches the AuthorisedByProvider state after successful authorization (funds reserved but not debited yet). To capture the transaction either the automatic capturing in Eazypay PaymentService can be used, or the merchant can invoke the executePaymentAction web method with statuscode = 200 (Capture).
In case the merchant is not intending to capture the authorised card deposit and therefore no longer requires the amount to be held, the payment must be cancelled to return the amount to the customer’s card. This should be performed as soon as possible after the merchant is aware that it is not required to hold the amount any longer. The cancellation/reversal request will be sent immediately to the issuer and the funds will be available to the cardholder as soon as it is processed.
With this, merchants can ensure that cardholders are not negatively impacted by extended authorization holds against their accounts and that the money can be used for other purchases.
Example for capturing a card deposit:
curl -X POST \ https://www.eazypay.eu/api/test/capture-payment \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -d '{ "PublicKey": "PUBLICKEY", "PrivateKey": "PRIVATEKEY", "paymentID": "PAYMENTID" }'
Every card deposit reaches the AuthorisedByProvider state after successful authorization (funds reserved but not debited yet). To capture the transaction either the automatic capturing in Eazypay PaymentService can be used, or the merchant can invoke the executePaymentAction web method with statuscode = 200 (Refund).
In case the merchant is not intending to capture the authorised card deposit and therefore no longer requires the amount to be held, the payment must be cancelled to return the amount to the customer’s card. This should be performed as soon as possible after the merchant is aware that it is not required to hold the amount any longer. The cancellation/reversal request will be sent immediately to the issuer and the funds will be available to the cardholder as soon as it is processed.
With this, merchants can ensure that cardholders are not negatively impacted by extended authorization holds against their accounts and that the money can be used for other purchases.
Example for refund a card deposit:
curl -X POST \ https://www.eazypay.eu/api/test/refund-payment \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -d '{ "PublicKey": "PUBLICKEY", "PrivateKey": "PRIVATEKEY", "paymentID": "PAYMENTID" }'
Every card deposit reaches the AuthorisedByProvider state after successful authorization (funds reserved but not debited yet). To capture the transaction either the automatic capturing in Eazypay PaymentService can be used, or the merchant can invoke the executePaymentAction web method with statuscode = 200 (Cancel).
In case the merchant is not intending to capture the authorised card deposit and therefore no longer requires the amount to be held, the payment must be cancelled to return the amount to the customer’s card. This should be performed as soon as possible after the merchant is aware that it is not required to hold the amount any longer. The cancellation/reversal request will be sent immediately to the issuer and the funds will be available to the cardholder as soon as it is processed.
With this, merchants can ensure that cardholders are not negatively impacted by extended authorization holds against their accounts and that the money can be used for other purchases.
Example for cancel a card deposit:
curl -X POST \ https://www.eazypay.eu/api/test/cancel-payment \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -d '{ "PublicKey": "PUBLICKEY", "PrivateKey": "PRIVATEKEY", "paymentID": "PAYMENTID" }'
Get in touch or create an account.