- 19 Feb 2025
- 5 Minutes to read
- Print
- DarkLight
emerchantpay Card Processing
- Updated on 19 Feb 2025
- 5 Minutes to read
- Print
- DarkLight
Supported Transaction Types
Authorisation
AUTH
Capture
CAPT
Purchase
PURC
Refund
PARTIALREFUND
Void
GENERALVOID
Payouts
ORIGINALCREDIT
Recurring
AUTH
/PURC
Integrations Supported
Deposit - Authorisation / Purchase
Hosted Payment Page
Direct Connect ( server-to-server)
Capture, Void, Refunds, Payouts, Recurring
Hosted Payment Page
Direct Connect ( server-to-server)
Airline Ready - Follow this link for further information related to required Airline Details specific to this Acquirer.
Currencies & Countries Supported
Title | Description |
---|---|
Currencies Supported | EUR, USD, GBP, JPY and many others. |
Additional attributes to process Deposits
You must include the following JSON Attributes to the payload. These attributes inform us to proceed with the redirection to emerchantpay to finalize the payment process.
if you are using our Hosted Payment Page
Description | Hosted Payment Page |
---|---|
Force Transaction Routing | “Routing”:{ "ForceBank": "EMERCHANTPAY” } |
Client Details | "Client": { "Email": "test@gmail.com", "FirstName": "Apco", "LastName": "Test", "MobileNo": "7777777", "Street": "Church Street", "City": "Virtu", "State": "Rabat", "ZIPCode": "RBT2640", "Country": "MLT", “IPAddress": "1.1.1.1" } |
Test Indicator | "isTest”: true |
Sample requests using our Hosted Payment Page can be viewed here.
{
"TransactionType": "AUTH",
"Amount": 10.00,
"Currency": "EUR",
"OrderReference": "Order4523",
"RedirectionURL": "https://www.yourURLhere.com/Redirect",
"CallBackURL": "https://www.yourURLhere.com/Listener",
"FailRedirectionURL": "https://yourURLhere.com/FailRedirect/",
"UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
"Routing": {
"ForceBank": "EMERCHANTPAY"
},
"Client": {
"Email": "apcotest@gmail.com",
"FirstName": "Apco",
"LastName": "Test",
"MobileNo": "77777777",
"ZIPCode": "RBT2640",
"Street": "Church Street",
"Country": "MLT",
"City": "Virtu",
"State": "Rabat",
"ClientAccount": "testing"
},
"IsTest": true
}
If you are using our direct connect solution (server-to-server)
Description | Direct Connect |
---|---|
Force Transaction Routing | “Routing”:{ "ForceBank": "EMERCHANTPAY” } |
Client Details | "Client": { "Email": "test@gmail.com", "FirstName": "Apco", "LastName": "Test", "MobileNo": "7777777", "Street": "Church Street", "City": "Virtu", "State": "Rabat", "ZIPCode": "RBT2640", "Country": "MLT", “IPAddress": "1.1.1.1" } |
Card Details | "PaymentCredentials": { "PaymentSource": "Card", "CardType": "MASTERCARD", "CardNumber": "5351772561457936", "CvV2": "123", "ExpMonth": "03", "ExpYear": "2027", "CardHolderName": "Joe Smith" }, |
Browser details | "BrowserDetails": { "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "JavaEnabled": true, "ScreenColorDepth": "1", "ScreenWidth": "1080", "ScreenHeight": "840", "TimeZone": "2", "AcceptHeader": "application/json", "BrowserLanguage": "en" } |
Test Indicator | "isTest”: true |
Sample requests using Direct Connect can be viewed here.
{
"TransactionType": "PURC",
"Amount": 10.23,
"Currency": "EUR",
"IsTest": true,
"OrderReference": "123",
"RedirectionURL": "https://www.yourURLhere.com/Redirect/",
"CallBackURL": "https://www.yourURLhere.com/Listener",
"UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
"PaymentCredentials": {
"PaymentSource": "Card",
"CardType": "VISA",
"CardNumber": "4000000000001018",
"CardHolderName": "Frictionless Processed",
"ExpMonth": "12",
"ExpYear": "2030",
"CvV2": "666"
},
"Client": {
"FirstName": "Apco",
"LastName": "Test",
"Email": "apcotest@test.com",
"Street": "1,Street",
"City": "Marsa",
"IPAddress": "1.1.1.1",
"ZIPCode": "MRS3000",
"Country": "MLT",
"State": "Rabat",
"MobileNo": "+20100000000"
},
"BrowserDetails": {
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"JavaEnabled": true,
"ScreenColorDepth": "1",
"ScreenWidth": "1080",
"ScreenHeight": "840",
"TimeZone": "2",
"AcceptHeader": "application/json",
"BrowserLanguage": "en"
},
"Routing": {
"ForceBank": "EMERCHANTPAY"
}
}
Requesting a Capture
If you wish to Capture
a transaction of type Authorisation
, below are the mandatory fields.
Description | Direct Connect |
---|---|
Transaction Reference | "PspID": "342342”
|
Sample request for processing a capture
request.
{
"TransactionType": "CAPT",
"Amount": 10.00,
"CallBackURL": "https://www.yourURLhere.com/Listener",
"IsTest": true,
"UniqueReference": "6514441d-8abe-4d7b-9e0c-3aa386333b34",
"PspID":"839791"
}
Requesting a Payout
Using our direct integration, below are the mandatory fields required to process a payout
. We currently support three options for payout:
via a PSP ID
via a Card Token
via a full Card PAN details
Description | PSP ID | Card Token | Full Card PAN |
---|---|---|---|
Force Transaction Routing | Not required | "Routing": { "ForceBank": "EMERCHANTPAY" }, | "Routing": { "ForceBank": "EMERCHANTPAY" }, |
Client | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, |
Transaction or Payment Reference | "PspID": "342342”
| "PaymentDestination": { "PaymentMethod": "CardToken", "CardToken": "c840e58e-519d-409a-b525-297fadf60733" }, | "PaymentDestination": { "PaymentMethod": "Card", "CardType": "VISA", "CardNumber": "4000000000001018", "CardHolderName": "Apco Test", "ExpMonth": "12", "ExpYear": "2040", "CvV2":"123" }, |
Test Indicator | "isTest”: true | "isTest”: true | "isTest”: true |
Sample Payout Request using the PSP ID
{
"TransactionType": "ORIGINALCREDIT",
"Amount": 1.00,
"Currency": "EUR",
"OrderReference": "Order42323",
"UniqueReference": "e0a65b67-6723-4ed4-bcdc-168f242f8df9",
"ClientAccount": "testing",
"CallBackURL": "https://api.dev.apspglobal.com/technicalsupporttool-fe/Listener",
"Client": {
"FirstName": "Apco",
"LastName": "Test",
"Email": "apcotest@test.com",
"Street": "1,Street",
"City": "Marsa",
"IPAddress": "1.1.1.1",
"ZIPCode": "MRS3000",
"Country": "MLT",
"MobileNo": "+20100000000"
},
"IsTest": true,
"PSPID": "823205"
}
Requesting a Recurring transaction
The mandatory fields are required to process a recurring transaction using our direct connect integration. Note that we use a transaction reference as payment credentials since a recurring transaction is linked to an original deposit.
Description | Direct Connect |
---|---|
Payment Credentials | "PaymentCredentials": { "PaymentSource": "TransactionReference" }, |
Client | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, |
Transaction Reference | "PspID": "342342”
|
Test Indicator | "isTest”: true |
Sample Request of a Recurring transaction
{
"TransactionType": "PURC",
"Currency": "EUR",
"Amount": 10.12,
"OrderReference": "Order2323",
"UniqueReference": "e0a65b67-6723-4ed4-bcdc-168f242f8df9",
"RedirectionURL": "https://www.yourURLhere.com/Redirect",
"CallBackURL": "https://www.yourURLhere.com/Listener",
"FailRedirectionURL": "https://www.yourURLhere.com/Redirect?page=failed",
"Language": "en",
"IsTest": true,
"PspId": "840510",
"PaymentCredentials": {
"PaymentSource": "TransactionReference"
},
"Client": {
"Email": "apcotest@gmail.com",
"FirstName": "Apco",
"LastName": "Test",
"MobileNo": "77777777",
"ZIPCode": "RBT2640",
"Street": "Church Street",
"Country": "MLT",
"City": "Virtu",
"State": "Rabat",
"ClientAccount": "testing"
}
}
Airline Details
When processing payment transactions in the context of airline bookings, one needs to include additional booking information captured under a dedicated JSON node within the main AUTH
, PURC
or ORIGINALCREDIT
payload termed AirlineDetails
. This object encapsulates flight-related, passenger, and reservation details for airline related payment transactions. To facilitate cross provider implementations, the entire JSON object needs to be implemented however supplying the minimum required values as per Acquirer specific guidelines hereunder. In addition this would help future proofing the integration since some attributes may become enforceable over time.
NOTE: Empty string values should be supplied for non required values.
| EMP eTicket | EMP Ticketless |
---|---|---|
AirlineDetails:{ | ||
FlightLegDetails: [ | ||
{ | ||
flightArrivalDate | REQUIRED | REQUIRED |
flightArrivalTime | NOT REQUIRED | NOT REQUIRED |
flightDepartureDate | REQUIRED | REQUIRED |
flightDepartureTime | NOT REQUIRED | NOT REQUIRED |
airlineCode | REQUIRED | NOT REQUIRED |
airlineFlightNumber | REQUIRED | NOT REQUIRED |
paymentType | NOT REQUIRED | NOT REQUIRED |
departureCountry | REQUIRED | NOT REQUIRED |
departureCity | REQUIRED | NOT REQUIRED |
departureAirport | REQUIRED | NOT REQUIRED |
destinationCountry | REQUIRED | NOT REQUIRED |
destinationCity | REQUIRED | NOT REQUIRED |
destinationAirport | REQUIRED | NOT REQUIRED |
stopOverCode | REQUIRED | NOT REQUIRED |
fareBasisCode | NOT REQUIRED | NOT REQUIRED |
serviceClass | NOT REQUIRED | NOT REQUIRED |
} | ||
], | ||
PassengerDetails: [ | ||
{ | ||
passportNumber | REQUIRED | NOT REQUIRED |
title | REQUIRED | NOT REQUIRED |
firstName | REQUIRED | NOT REQUIRED |
lastName | REQUIRED | NOT REQUIRED |
passengerName | REQUIRED | NOT REQUIRED |
middleName | REQUIRED | NOT REQUIRED |
dateOfBirth | NOT REQUIRED | NOT REQUIRED |
countryCode | NOT REQUIRED | NOT REQUIRED |
} | ||
], | ||
ReservationDetails: { | ||
pnrCode | REQUIRED | NOT REQUIRED |
bookingSystemUniqueId | REQUIRED | NOT REQUIRED |
computerizedReservationSystem | REQUIRED | NOT REQUIRED |
ticketNumber | REQUIRED | NOT REQUIRED |
documentType | REQUIRED | NOT REQUIRED |
flightDateUTC | REQUIRED | NOT REQUIRED |
issueDate | REQUIRED | NOT REQUIRED |
travelAgencyName | NOT REQUIRED | NOT REQUIRED |
travelAgencyCode | NOT REQUIRED | NOT REQUIRED |
travelAgentCity | NOT REQUIRED | NOT REQUIRED |
issuingCarrierCode | NOT REQUIRED | NOT REQUIRED |
restrictedTicket | NOT REQUIRED | NOT REQUIRED |
salesSource | NOT REQUIRED | NOT REQUIRED |
} | ||
} |
Sample Request - Hosted Payment Page
Test Credentials
Test Card details below. You must use a future expiry date and use “Frictionless Processed” as the cardholder name. For more test information on different card use cases here.
Card Details |
---|
4200000000000000 |
4711100000000000 |
5555555555554444 |