Download OpenAPI specification:
An integration with the North American platform
The EML Payments API exposes information and processing as a suite of web services adopting the Representational State Transfer (REST) architectural style. Key API concepts are:
Clients will be assigned a user name and password for API access. HTTP Basic Authentication as described in RFC 2617 will be used to pass credentials. Each user name will be granted specific rights to view and manipulate resources.
The Cache-Control response header will be used to specify caching directives. Many representations are created dynamically for each request and should not be cached. These services will return the Cache-Control: no-cache header.
Some services provide duplicate transaction checking via an optional header named Idempotency-Key. If provided, this header should contain a string that is unique across a program and is up to 255 characters in length. The idempotency key will be checked against a local store for duplicates. If a duplicate is found, the last response for that idempotency key will be returned. It is important to note that the actual contents of the transaction are not checked for duplication at this time – only the idempotency key. In addition, the keys and responses are only retained for approximately seven days.
If there is a duplicate transaction, a header named X-Eml-Duplicate will be returned with a value of true. This header is only returned if a duplicate was detected.
| Header name | Data Type | Max Length | Comments |
|---|---|---|---|
| Idempotency-Key | String | 255 characters | Must be unique for a given endpoint within a program. This header is returned to the client. |
| X-Eml-Duplicate | Boolean | Contains true if a duplicate was detected, false otherwise. This header is only returned if Idempotency-Key was sent. |
| Response Field | Data Type | Description | Default |
|---|---|---|---|
| code | Integer | The identifier for this fault type. | Yes |
| message | String | The message; in English; associated with the fault. | Yes |
Example
{
"code": 500,
"message": "Server Error"
}
The services will provide localized values for strings where possible. Clients should provide the ACCEPT-LANGUAGE header to indicate their preferred language. If this header is not specified, the default is US English (en-US). Generally speaking, data will be formatted using an invariant culture. User-facing strings, such as transaction descriptions, will be localized where possible.
Resource representations in JSON and XML are available. Responses will be provided in UTF-8 encoding. Clients may specify the desired response format by providing an Accept header. JSON is the default format if no Accept header is provided.
The format of representations passed in request bodies may be specified using the Content-Type header. JSON is the default format if no Content-Type header is provided.
| Format | Header Value | Default |
|---|---|---|
| JSON | application/json | Yes |
| XML | application/xml | No |
Response representations will contain minimal whitespace. XML representations have an element-centric structure.
| Data Type | Description |
|---|---|
| boolean | Logical true or false. |
| currency | Formatted as ISO 4217 alphabetic currency codes (i.e. USD; EUR; GBP; etc.) |
| datetime | Unambiguous dates and times. XML values use the RFC 3339 standard; for example 1990-12-31T07:59:60Z and 1990-12-30T23:59L60-08:00. JSON values specify milliseconds since January 1; 1970 UTC; for example “VDate(1788238799999)V”. |
| decimal | Signed decimal values. |
| integer | Signed whole number values. |
| string | Any string of characters. |
Request status information will be communicated through HTTP response codes. The following table lists common response codes from HTTP/1.1 specification.
| Response Code | Message | Description | Response Body |
|---|---|---|---|
| 200 | Ok | Standard response for successful HTTP requests. | Service-specific representation |
| 201 | Created | The request has been fulfilled and resulted in a new resource being created. | Service-specific representation |
| 400 | Bad Request | The request could not be understood by the server due to malformed syntax. | Fault Information |
| 401 | Invalid username or password | The request requires valid user authentication. | Fault Information |
| 403 | Forbidden | The server understood the request; but is refusing to fulfill it due to a lack of adequate user permission or invalid credentials. | Fault Information |
| 404 | The URL does not match any of the defined routes | The server has not found anything matching the Request-URI. | Fault Information |
| 500 | Internal Server Error | The server encountered an unexpected condition which prevented it from fulfilling the request. This can occur when a message sent to the API is not in the correct format. | Fault Information |
| 504 | Gateway Time-out | The server; while acting as a gateway or proxy; did not receive a timely response from the upstream server. | Fault Information |
Card Identifier Card Identifier – {card_id} – Is a string value that uniquely identifies a card in several requests. When present this value is used in conjunction with the search_parameter value explained below to uniquely identify a card.
Common Query String Values
These query string parameter values may be used in multiple requests.
| Parameter | Required | Description |
|---|---|---|
| search_parameter | No | Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. Refer to Search Parameter Options for valid values. |
| Program | Yes | When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by StoreFinancial; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| Fields | No | A comma-separated list of the fields to include in the response. The default fields will be returned if this is not specified. The special value “all” may be provided to return all response fields. |
Country Codes
The */country request field accepts values as defined in ISO 3661-1 alpha-3 code.
| Request Field | Data Type |
|---|---|
| */country | String(3) |
Sample
"location" : {
"name": "Location Name",
"province": "MB"
"country": "CAN"
},
State and Province Codes
The */state and */province request fields accept values as defined in ISO 3166-2.
| Request Field | Data Type |
|---|---|
| */state | String(2) |
| */province | String(2) |
Samples
State "location" : { "name": "Location Name", "state" : "CA", "country" : "USA" },
Province "location" : { "name": "Location Name", "province" : "MB", "country" : "CAN" },
Multiple Requests
For requests which can return multiple results, the following additional request and response fields will be used.
| Request Field | Data Type | Description |
|---|---|---|
| Take | Integer | The number of results to return. Default is 20. Maximum is 1000. |
| Skip | Integer | The number of results to offset in order to return the current page. Default is 0. |
| Response Field | Data Type | Description | Default |
|---|---|---|---|
| Count | Integer | The total number of results available; but not necessarily the number returned. | Yes |
Samples
JSON Request GET https://webservices.storefinancial.net/api/v1/en/entities?skip=0&take=3 HTTP/1.1 Accept: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Response { "count" : 15; "entities" : [ { "result_field_1" : "1234567890123456"; "result_field_2" : 0.00 }; { "result_field_1" : "2345678901234567"; "result_field_2" : 10.00 }; { "result_field_1" : "3456789012345678"; "result_field_2" : 20.00 }] }
This payment provider API is utilized to submit participating supplier’s ACH data.
Details required to submit Bank Account Information
| bank_account_name required | string <= 255 characters Name of Supplier Bank. |
| account_number required | string <= 25 characters Supplier Bank Account Number. |
| routing_number required | string <= 9 characters Supplier Bank routing Number. |
| email required | string <= 255 characters Supplier Email Address. |
| client_tracking_id required | string <= 255 characters A unique value assigned the system. |
| supplier_name | string <= 50 characters Supplier Name. |
| ar_contact | string <= 50 characters Supplier Accounts Payable Contact. |
| ar_contact_phone | string <= 50 characters Supplier Accounts Payable Contact Phone Number. |
| ar_contact_email_address | string <= 255 characters Supplier Accounts Payable Contact Email Address |
| created_by_user required | string <= 50 characters User that created the record. |
{- "bank_account_name": "BnkActName2017-01-25.15.10.05",
- "account_number": "AN20170125-151005",
- "routing_number": 151005999,
- "email": "em151005@test.com",
- "client_Tracking_Id": "f20170125151005",
- "supplier_name": "SupName151005",
- "ar_contact_name": "arContact0125151005",
- "ar_contact_phone": 5551251510,
- "ar_contact_email_address": "cEmail151005@test.com",
- "created_by_user": "CreatedBy0125-151005"
}{- "id": 1
}This payment provider API is utilized to provide a participating supplier’s supporting ACH documentation (i.e. image of blank check or bank letter).
| client_tracking_id required | string Client tracking identifier. |
Details required to submit supporting ACH images
| image_file required | string <binary> Blank Check or Bank Letter; Accepted formats are pdf; tiff; jpeg and png |
{- "code": 400,
- "message": "The required parameter ‘client_tracking_id’ is missing or invalid."
}This API is used to provide EML with the sales tax amount to facilitate sales tax funds movement.
| program required | string This unique identifier is provided by EML |
The information required to get Tax receipt for Transfer,
| origin required | string An identifier that is unique for a given origin. It can be Client_Tracking_id. |
| transaction_id required | string An identifier that is unique to the specific transaction. |
| assessed_date required | string <date-time> The date the tax was assessed. |
| amount required | number <decimal> The tax assessment. |
{- "origin": "ConsultantID1234",
- "transaction_id": 12345,
- "assessed_date": "2016-10-21T13:47:59.9487238-05:00",
- "amount": 10
}{- "tax_receipt_for_transfer_id": 123
}This API is used to prevent a card from being used for payments.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to lock the card
| merchant_group required | string This unique identifier is provided by EML |
| note required | string A value provided by the client; usually descriptive |
| reason required | string Enum: "Damaged" "Lost" "Miscellaneous" "OfficeError" "Other" "PastAccountExpirationDate" "Stolen" "Suspicious" The reason for locking the card |
{- "reason": "Lost",
- "note": "Lock the Card",
- "program": "EMLFi123",
- "merchant_group": "EMLFi987"
}{- "code": 404,
- "message": "The card ending in '**** **** **** ****' was not found"
}This API retrieves cards either by given cardid range (first card id and last card id) or by the bulk activation system transaction id.
If both cardid range and activation system transaction id are provided, cardid range takes priority.
Details about the bulk card activation
| first_card_id | string Starting card identifier of the range. |
| last_card_id | string Ending card identifier of the range. |
| search_parameter | string Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| program required | string = 10 characters Unique tag of the program associated with the cards. |
| transaction_id | integer <int64> The activation transaction ID under which the cards were activated. |
{- "first_card_id": "ZTYGD5V8CLZBWQJ8",
- "last_card_id": "ZJHGD5V8CLZBWQJ7",
- "search_parameter": "ExternalId",
- "program": "Progr12345",
- "transaction_id": 12568974
}{- "cards": [
- {
- "external_id": "ZJNV6P8XLJTGPRXU",
- "status": "active"
}, - {
- "external_id": "ZJNV6P8XLJTYTURB",
- "status": "pending"
}, - {
- "external_id": "ZYTH6P8XLJTGTYRD",
- "status": "inactive"
}
]
}This API is used to transfer funds from one or more source cards to a destination card, charge fee and close the source cards, provided all cards belong to the same program.
| id required | string Destination card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to merge cards
| from_card_ids required | Array of strings [ 1 .. 5 ] items unique A list of source card identifiers, with a max of 5 elements. |
| merchant_group required | string = 10 characters The Merchant Group Unique Tag associated with the destination card. |
object | |
| note | string <= 255 characters A value provided by the client. usually descriptive. Must be 255 characters or less. |
| reconciliation_id | string <= 50 characters A value provided by the client. Must be 50 characters or less. |
{- "from_card_ids": [
- "ZFDMS5V2534JX4J8",
- "ZFDMS5V2534JX4J9",
- "ZFDMS5V2534JX4J5"
], - "merchant_group": "EMLEUSi362",
- "location": {
- "name": "Baby Gap 123",
- "address1": "123 Fake ST",
- "address2": "Suite Life",
- "city": "Kansas City",
- "state": "MO",
- "province": "string",
- "postal_code": 12345,
- "country": "string"
}, - "note": "test note",
- "reconciliation_id": "string"
}{- "to_card_id": "ZJHGD5V8CLZBWQJ7",
- "total_amount_transferred": 100,
- "available_balance": 145,
- "fee": 5,
- "currency": "USD",
- "merge_unload_system_transaction_id": 12075894,
- "merge_load_system_transaction_id": 12075895,
- "from_cards": [
- {
- "card_id": "ZMGNG5X9W6Z7B3BZ",
- "amount_transferred": 50
}
]
}This API is used to indicate the purchaser of a card.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to indicate purchaser of a card.
| isperson required | boolean Indicates if an Individual (True) or Organization (False) |
| name | string <= 50 characters Organization name. Required if isperson is False. |
| first_name | string <= 50 characters First name (alpha and space characters only). Required if isperson is True. |
| last_name | string <= 50 characters Last name (alpha and space characters only). Required if isperson is True. |
| address1 required | string <= 255 characters First address line. |
| address2 | string <= 255 characters Second address line. |
| city required | string <= 255 characters City. |
| state | string Required when contactentity/country utilizes states. This is the state abbreviation as defined by ISO 3166-2 |
| province | string Required when contactentity/country utilizes provinces This is the province abbreviation as defined by ISO 3166-2 |
| postal_code | string Required when contactentity/country utilizes postal codes |
| country required | string This is the country code as defined by ISO 3166-1 alpha-3 code |
| phone | string <= 20 characters Phone Number |
| email required | string Email address. Format ‘test@email.com’ |
{- "isperson": false,
- "name": "Company X",
- "address1": "1904 Oak Lane",
- "address2": "4th Floor",
- "city": "Overland Park",
- "state": "KS",
- "postal_code": 12345,
- "country": "USA",
- "phone": 9135552222,
- "email": "test@mail.com"
}{- "code": 400,
- "message": "Required field is missing"
}This API is used to register a card.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to register a card
object |
{- "first_name": "John",
- "last_name": "Doe",
- "address1": "123 Main St",
- "city": "Overland Park",
- "state": "KS",
- "postal_code": "12345",
- "country": "USA",
- "email": "test@mail.com",
- "dob": "11011980"
}{- "code": 400,
- "message": "Address line 1 is required"
}Registers a card to a cardholder that has previously been through customer identification.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
The information required to register a card.
| token | string <byte> A base64-encoded customer identification token. |
{- "token": "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ"
}{- "first_name": "Jane",
- "last_name": "Doe",
- "email": "jane.doe@example.com",
- "phone": "+18165550124",
- "address": "8330 Ward Pkwy",
- "city": "Kansas City",
- "state": "MO",
- "province": "ON",
- "country": "USA",
- "postal_code": "64114-2027"
}This API is used to replace an existing card.
| id required | string Card ID |
Details required to add funds onto an active card
| program required | string = 10 characters The unique tag of the program for which to replace a card. |
| merchant_group required | string This unique identifier is provided by EML |
| note | string A value provided by the client: usually descriptive |
| client_tracking_id | string <= 50 characters A client-assigned value that uniquely identifies a card within the scope of a program. |
| card_design_tag | string A value used to determine which card design to use in the card encoding process. |
| lock_on_activation | boolean A flag specifying if the replacement card should be locked upon activation. The default behavior is to activate the card and not lock it. Setting this flag to true will ensure an Activation Locked status on the replacement card. |
| to_card_type | string An indicator that determines what type of card to create for the replacement card. Valid values are: 1 for Physical; 2 for Virtual. |
| waive_fee | boolean An optional value used to indicate whether any associated Transfer Fees should be waived or not. |
object The activating location. By default, the activating lcoation will be the account used to make the request. |
{- "program": "Progr12345",
- "merchant_group": "string",
- "note": "string",
- "client_tracking_id": "Client-Assigned-Id-1",
- "card_design_tag": "string",
- "lock_on_activation": true,
- "to_card_type": "string",
- "waive_fee": true,
- "location": {
- "name": "EML Payments",
- "address1": "8330 Ward Pkwy",
- "address2": "4th floor",
- "city": "Kansas City",
- "state": "MO",
- "province": "ON",
- "country": "USA",
- "postal_code": "64114-2027"
}
}{- "card_id": 0,
- "id": "string",
- "client_tracking_id": "Client-Assigned-Id-1",
- "available_balance": 0,
- "currency": "string",
- "actual_balance": 0,
- "activation_amount": 0,
- "program_supports_statements": true,
- "program_3ds_enabled": true,
- "amf_amount": 0,
- "adjusted_balance": 0,
- "is_icc_card": true,
- "has_atm_access": true
}This API is used to search for card(s) by providing one or more filter parameters to the /cards resource. The response will be an array of zero (0) or more cards. The response fields are the same as defined for the Retrieve Card Information API.
| carrier_number | string This is a filter parameter (One of the filter parameters must be supplied). An account number assigned to the card to communicate with a third-party card processor. This parameter is a string exactly 16 characters long containing only numbers. |
| client_tracking_id | string This is a filter parameter (One of the filter parameters must be supplied). A unique value assigned by the client; used in reporting to further filter metadata. |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
{- "count": 2,
- "cards": [
- {
- "id": "Z43210987654321X",
- "client_tracking_id": "SampleCTID-B-CBA-1",
- "available_balance": 10,
- "currency": "USD"
}, - {
- "id": "Z43350987654321Y",
- "client_tracking_id": "SampleCTID-B-TSD-1",
- "available_balance": 5,
- "currency": "USD"
}
]
}This API is used to transfer the balance from one card to another within the same program
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
Details required to transfer a card
| merchant_group required | string <= 10 characters A 10 character string value that is proviced by EML to uniquely identify the client Merchant Group |
| note required | string <= 4000 characters A value provided by the client: usually descriptive |
| tocard | integer Required if tocardtype = 1. The new card that will receive the existing balance. |
| tocardtype required | integer 1 = Physical Card : 2 - Virtual Card |
object | |
| feeamount | number <decimal> An override to the fee amount associated with the program or merchant group |
| waivefee | boolean If a transfer fee is configured for a program or mercahnge group in the EML system setting waivefee = 1 will waive the fee for the transfer action. If not defined in the API call the transfer fee configured in the EML system will be applied. Note that this field is required if payment types are not configured within the EML system for the program or merchant group. |
| disable_ctid_transfer | boolean A flag specifying if the client tracking id (ctid) should transfer from the old card to the new card. The default behavior is to transfer the ctid. Setting this flag to true prevents that behavior. |
{- "tocard": "2345678901234561",
- "tocardtype": "1",
- "merchant_group": "EMLFi987",
- "note": "Transfer note",
- "location": {
- "name": "EML"
}
}{- "card_id": 137719,
- "id": "Z43210987654321X",
- "client_tracking_id": "SampleCTID-A",
- "available_balance": 25.1,
- "currency": "USD",
- "can_activate": false,
- "can_redeem": true,
- "program_can_register": false,
- "security_code": "123456",
- "expiration_date": "/Date(1538369999999)/",
- "account_expiration_date": "/Date(1477890000000)/",
- "is_virtual": true,
- "is_reloadable": false,
- "actual_balance": 25,
- "status": "Active",
- "is_registered": false,
- "activating_merchant_group_name": "EML Payments MG",
- "activating_merchant_group_uniquetag": "EMLPay987",
- "activation_country": "United States",
- "activation_date": "/Date(1377624625133-0500)/",
- "program_name": "EML",
- "program_uniquetag": "EMLFi123",
- "amf_amount": 1,
- "amf_start_date": "/Date(1419746400000-0600)/",
- "amf_next_date": "/Date(1419746400000-0600)/",
- "distributor_refund": false,
- "card_type": "Regular",
- "activation_transaction_id": 123456789,
- "promotion_balance": 25,
- "promotion_type_id": 1,
- "promotion_expiration": "/Date(1477890000000-0500)/",
- "is_organization_registration": false,
- "currency_info": {
- "decimal_digits": 2,
- "group_sizes": [
- 3
], - "symbol": "$"
}, - "adjusted_balance": 25,
- "pin_enabled": true,
- "bank_name": "Bank of US",
- "has_pin": false,
- "is_icc_card": false,
- "has_atm_access": false
}This API is used to unlock cards locked during the card activation process
Details required to unlock a card activation lock
| card_id required | string Card identifier |
| merchant_group required | string This unique identifier is provided by EML |
| security_code required | string The Security Code provided by the client to verify the user |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| cardholder_user_id | string Cardholder identifier |
{- "card_id": "SampleClientTrackingId",
- "merchant_group": "EMLFi987",
- "search_parameter": "ClientTrackingId",
- "security_code": "123456",
- "cardholder_user_id": "Joe testmanator"
}{- "code": 404,
- "message": "Merchant group not found"
}This API is used to unlock cards locked during the card activation process given a Client Reference Number (Order Number). If any card on the order is not in a locked state it is skipped.
| client_reference_number required | string The Client Reference Number (Order Number) |
{- "code": 500,
- "message": "Merchant group not found."
}This API is used to unlock card(s) that are locked
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to unlock a card
| merchant_group required | string This unique identifier is provided by EML |
| note required | string A value provided by the client: usually descriptive |
{- "merchant_group": "EMLFi987",
- "note": "Void for a customer"
}{- "code": 404,
- "message": "Card cannot be found"
}This API is used to void a card that has been activated. A voided card is available for activation. Program settings determine when a card is no longer voidable. A card that is no longer voidable should be refunded.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to void a card
| merchant_group required | string This unique identifier is provided by EML |
| note required | string A value provided by the client: usually descriptive |
{- "merchant_group": "EMLFi987",
- "note": "Void for a customer"
}This API is used to void all cards that belong to the same activation transaction as the given card ID. User only needs to provide one card id from activation transaction. The API will find the related activation transaction and void all cards under it.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details about the void transaction.
| merchant_group required | string The Merchant Group Unique Tag associated with the card |
| note required | string A value provided by the client: usually descriptive |
{- "merchant_group": "EMLFi987",
- "note": "Void for a customer"
}{- "system_transaction_id": 12345678,
- "total_cards_voided": 2,
- "card_ids": [
- "Z5RF5PJWW5PG6DDN",
- "Z5RF5PJWW5PG6TYU"
]
}A provider wishing to take part in EML ControlPay must implement specific API endpoints that will be used during delegated authorization scenarios. The endpoint's service and message requirements are defined in this document. Before a provider will be allowed to integrate with EML's processing system, conformance to this document will be validated by a certification process.
The endpoint defined is only part of the full integration. In addition to the behaviors defined in this document, providers may wish to receive various transaction notifications like adjustments, settlements, and expirations. For further information, please review the Notifications section.
Participation
Participation in this service is restricted to registered clients. To register, clients must provide EML with the URL and authentication credentials for their externally exposed delegated authorization endpoint. EML will use TLS transport with the HTTP basic authentication scheme (https://www.ietf.org/rfc/rfc2617.txt) to connect to the specified endpoint. EML will not support custom port numbers.
Message Types
A registered client will receive the following message types with fields of the listed data types.
| Message Type | Generated When |
|---|---|
| Authorization | An authorization decision needs to be made. |
| Balance Inquiry | A request for an account balance has been received. |
Data Types
| Data Type | Description |
|---|---|
| boolean | A true or false value. |
| country code | A string country code following ISO 3166. |
| currency code | A string currency code following ISO 4217. |
| decimal | A decimal number with whole and fractional parts. |
| object | A JSON object. |
| string | A value made up of alphanumeric characters; including special characters. |
| timestamp | A date and time string conforming to ISO 8601. |
| 64-bit integer | Integers from -9;223;372;036;854;775;808 to 9;223;372;036;854;775;807 |
| GUID | A globally unique identifier (GUID) conforming to a 32-character GUID separated by hyphens. No enclosing brackets are used. |
Error Message and Error Handling
When error conditions arise, the provider is expected to conform to REST guidelines for using the HTTP status code. If the provider's system is operating normally, status codes will generally be in the 200 or 400 range of status codes. If the provider's system is experiencing technical difficulties, then status codes will generally be in the 500 range of status codes. A few examples of specific status codes are below and further guidelines may be found here, https://www.restapitutorial.com/lessons/restquicktips.html.
| Example Status Code | Description |
|---|---|
| 200 (OK) | The standard response code for a typical message with the message's specific return format. |
| 400 (Bad Request) | There are validation errors in the JSON message EML sent e.g. missing fields; field values are not the correct type; etc. |
| 404 (Not Found) | The message validates; but information related to it cannot be found e.g. external ID is not found. |
| 409 (Conflict) | The authorization conflicts with another authorization e.g. a duplicate authorization request. |
| 500 (Internal Server Error) | Unexpected; critical failure in the provider's API e.g. internal database resources are not available. |
| 504 (Gateway Timeout) | The provider's API is making calls to other services or databases and those calls did not return in a timely fashion. |
In addition to the HTTP status code, the provider is expected to return an error message in the body with provider specific information. Note that the code in the error response message should not match the HTTP status code. The response message's code is intended for a provider specific error ID that may be used for further troubleshooting. An error message should also be returned that provides more information about the specific error.
{
code: integer,
message: string
}
After a balance inquiry passes initial validations, a call will be made to the provider for further validation. The definition for the endpoint and message exchange pattern is defined below.
Details required to perform balance inquiry.
| requestId | string <guid> The GUID for this this request; which should be returned in the response. |
object | |
| emlId | integer The EML ID used to correlate related requests like authorization adjustments; reversals; or settlements. |
{- "requestId": "0e783de5-a9d7-4370-a6cc-de69f62142ca",
- "card": {
- "clientTrackingId": "DummyId",
- "externalId": "J164951101003780"
}, - "emlId": 102357
}{- "forRequestId": "3b8fbfab-a2bb-4fb5-a50b-ce3b290bd72c",
- "accountBalance": 100
}A message published when an order is approved and an invoice is available.
| type | string The webhook message type. Value: "Orders.Approved" |
| approvalDate | string <date-time> The date and time in ISO 8601 standard format at which an order was approved. |
| orderId | string An order's unique identifier that can be used to query more information. |
{- "type": "Orders.Approved",
- "approvalDate": "2019-08-24T14:15:22Z",
- "orderId": "string"
}A message published when an order is submitted.
| type | string The webhook message type. Value: "Orders.Created" |
| creationDate | string <date-time> The date and time in ISO 8601 standard format at which an order was created. |
| orderId | string An order's unique identifier that can be used to query more information. |
| customerId | integer The id of the company that placed the order. |
| amount | number An order's total amount. |
| quantity | integer The total number of cards ordered. |
{- "type": "Orders.Created",
- "creationDate": "2019-08-24T14:15:22Z",
- "orderId": "string",
- "customerId": 0,
- "amount": 0,
- "quantity": 0
}A message published when an order is billable. That is, the order's invoice is available
from the Get Order Invoice API.
| type | string The webhook message type. Value: "Orders.Invoiced" |
| fulfillmentDate | string <date-time> The date and time in ISO 8601 standard format at which an order invoice became available. |
| orderId | string An order's unique identifier that can be used to query more information. |
{- "type": "Orders.Invoiced",
- "fulfillmentDate": "2019-08-24T14:15:22Z",
- "orderId": "string"
}A message published when an order is fulfilled.
| type | string The webhook message type. Value: "Orders.Fulfilled" |
| fulfillmentDate | string <date-time> The date and time in ISO 8601 standard format at which an order was fulfilled. |
| orderId | string An order's unique identifier that can be used to query more information. |
{- "type": "Orders.Fulfilled",
- "fulfillmentDate": "2019-08-24T14:15:22Z",
- "orderId": "string"
}Used to look up customer information. The user must be associated with the customer being requested.
| customerId required | string The id of the customer being requested. |
{- "id": 0,
- "name": "string",
- "registrationNumber": "string",
- "iban": "string",
- "address": {
- "address1": "string",
- "address2": "string",
- "city": "string",
- "stateOrProvince": "string",
- "country": "USA",
- "postalCode": "string",
- "phone": "string"
}
}Used to look up order information. The user must be associated with the order being requested.
| orderId required | string The id of the order being requested. |
{- "id": "string",
- "reference": "string",
- "customerId": "string",
- "type": "string",
- "creationDate": "2019-08-24T14:15:22Z",
- "status": "string",
- "amount": 0,
- "quantity": 0,
- "shippingInformation": {
- "method": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "stateOrProvince": "string",
- "country": "USA",
- "postalCode": "string",
- "phone": "string"
}, - "billingInformation": {
- "address1": "string",
- "address2": "string",
- "city": "string",
- "stateOrProvince": "string",
- "country": "USA",
- "postalCode": "string",
- "phone": "string"
}
}Used to look up order information by an order reference number. The user must be associated with the order being requested.
| reference required | string The customer order reference of an order. |
{- "id": "string",
- "reference": "string",
- "customerId": "string",
- "type": "string",
- "creationDate": "2019-08-24T14:15:22Z",
- "status": "string",
- "amount": 0,
- "quantity": 0,
- "shippingInformation": {
- "method": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "stateOrProvince": "string",
- "country": "USA",
- "postalCode": "string",
- "phone": "string"
}, - "billingInformation": {
- "address1": "string",
- "address2": "string",
- "city": "string",
- "stateOrProvince": "string",
- "country": "USA",
- "postalCode": "string",
- "phone": "string"
}
}Used to look up an order's invoice if it is available. The response may be JSON or PDF. The user must be associated with the order being requested.
| orderId required | string The id of the order being requested. |
{- "number": "string",
- "date": "2019-08-24",
- "amount": 0,
- "orderId": "string"
}The Express Transfer API provides endpoints for validating and moving funds from an EML card to a non-EML card using the MasterCard® network. These endpoints are not enabled by default and must be authorized for use. Additionally, an EML program must be configured to enable the Express Transfer feature and not all cards can receive express transfers. The receiving card must be configured to receive funds. It is also possible to send funds to a non-MasterCard card that participate in the MasterCard service.
The operations support more than one type of token to use in validations and payment transfers. The type and format are listed below.
| Type | Format | Example |
|---|---|---|
| PAN | pan:[card number];exp=[yyyy]-[mm];cvc=[nnn]. | pan:5000361001156749;exp=2022-01;cvc=123 |
| ID | sds-acct-id:[tokenized ID]. | sds-acct-id:acct_P2qk9TQFFWRBbROJQfb4iWl-PJx |
This API retrieves a transfer that was previously submitted.
| transferId required | string The transfer identifier obtained during transfer submission. |
{- "is_valid": true,
- "is_delayed": false,
- "funds_availability_type": "Immediate",
- "transfer_amount": 27.5,
- "transfer_currency_code": "USD",
- "recipient_account_token": "pan:************4444",
- "sender_account_token": "pan:************7278",
- "status_type": "Approved",
- "created_date": "2020-06-07T15:00:32.0000000-05:00",
- "recipient": {
- "first_name": "Joe",
- "last_name": "Smith",
- "line_1": "123 St",
- "city": "Anywhere",
- "state": "MO",
- "postal_code": 64101,
- "country_code": "USA"
}, - "sender": {
- "first_name": "Smith",
- "last_name": "Smith",
- "line_1": "123 Main St",
- "city": "Anywhere",
- "state": "KS",
- "postal_code": 66210,
- "country_code": "USA"
}
}As part of submitting a transfer, a receiving card’s information can be saved to a secure vault and exchanged for a tokenized version of the card. This API allow retrieval all saved cards associated with the EML card. These account tokens retrieved from this call may be used in place of card data in the validate and submit transfer operations
| externalId required | string The card's external ID. |
{- "account_tokens": [
- {
- "id": "acct_5-ELX5p_DnNQzbhTdCHFA2V8B88",
- "account_token": "************4444 (01/2022)"
}
]
}This API submits a transfer request for processing. The validation method should be called before calling this method to verify the transfer is likely to succeed. If the transfer succeeds, the card funds will be adjusted immediately.
In certain, rare cases where the receiving card’s receipt of the transfer can not be confirmed immediately, an unknown transfer status will be returned. In these cases, the transfer should be assumed to have succeeded and the transfer monitored for final result, which will occur within 24 hours. If the final result is a decline, then funds will be returned to the cardholder.
Details required to submit transfer request.
| source_external_id required | string External ID of the source EML card |
| to_account_token required | string The receiving card as a token, in either PAN or ID format. The token formats are defined at the beginning of this API section. |
| should_save_to_account | boolean True to save a PAN token to the card’s secure vault of tokens. This does not apply when the to_account_token is already an ID style token. |
| amount required | number <decimal> The decimal amount to transfer to the card. |
| currency_code required | string The 3 letter alpha currency code of the amount to transfer |
required | object The sender’s name and address information to use in account verification. |
{- "source_external_id": "J164951101003780",
- "to_account_token": "pan:5555555555554444;exp=2022-01;cvc=123",
- "should_save_to_account": false,
- "amount": 27.5,
- "currency_code": "USD",
- "sender": {
- "first_name": "Joe",
- "last_name": "Smith",
- "address": {
- "line_1": "123 St",
- "city": "Anywhere",
- "state": "MO",
- "postal_code": 64101,
- "country_code": "USA"
}
}
}{- "is_valid": true,
- "is_delayed": false,
- "verification_result": {
- "is_valid": true,
- "address_status": "Matched",
- "postal_code_status": "Matched",
- "cvc_status": "Matched",
- "address_status_code": "Y",
- "address_status_description": "For U.S. addresses five-digit postal code and address matches.",
- "cvc_status_code": "M",
- "cvc_status_description": "CVC2/CSC match",
- "eml_id": 11901
}, - "funds_availability_type": "Immediate",
- "transfer_amount": 27.5,
- "transfer_currency_code": "USD",
- "recipient_account_token": "pan:************4444",
- "sender_account_token": "pan:************7278",
- "status_type": "Approved",
- "created_date": "2020-06-07T15:00:32.0000000-05:00",
- "recipient": {
- "first_name": "Joe",
- "last_name": "Smith",
- "line_1": "123 St",
- "city": "Anywhere",
- "state": "MO",
- "postal_code": 64101,
- "country_code": "USA"
}, - "sender": {
- "first_name": "Smith",
- "last_name": "Smith",
- "line_1": "123 Main St",
- "city": "Anywhere",
- "state": "KS",
- "postal_code": 66210,
- "country_code": "USA"
}, - "eml_id": 11902,
- "satus_timestamp": "2020-06-07T15:00:32-05:00",
- "statement_descriptor": "META EML",
- "transfer_reference": "ddd8f99e-c5fb-4e4d-b290-0a045898ae12",
- "external_id": "trn_UEYDdLAz0LIrON8my34w7swB6rJQ",
- "id": 4077
}This API provides validation of a transfer before it is submitted as well as determining how long it will take the funds to reach the destination. This operation may be used to verify the sending card is enabled for express transfer, the receiving card can receive the funds via the MasterCard networ, and verify the transfer is within transaction limits.
| externalId required | string The card external identifier. |
Details about the validate transfer request.
| account_token required | string The receiving card as a token, in either PAN or ID format. The token formats are defined at the beginning of this API section |
| amount required | number <decimal> The decimal amount to transfer to the card. |
| currency_code required | string The 3 letter alpha currency code of the amount to transfer. |
{- "account_token": "pan:5555555555554444;exp=2022-01;cvc=123\",",
- "amount": 1.25,
- "currency_code": "USD"
}{- "is_valid": true,
- "is_eligible": false,
- "receive_eligibility_failure_code": "MaxTransactionTypeLimit",
- "receive_eligibility_failure_description": "Per transaction maximum amount limit for the transaction type",
- "eml_id": 11900
}This API is utilized to retrieve a barcode image and card data without exposing the client’s web server. This API requires token generated by requesting barcode_image from the Retrieve Card Information API
| token required | string Example: token=1234567890123456 A single use token generated by requesting barcode_image from the Retrieve Card Information API. |
"CARD_ID_ONLY" (string) or "CARD_ID_CVV_EXP" (string) or "None" (string) Example: barcodeContentType=CARD_ID_ONLY Used to determine card data displayed along with the barcode. If a value is not provided; system will default to Card_ID_ONLY | |
| barcodeFormatType | string Enum: "CODE_39" "CODE_128" "ITF" "QR_CODE" Used to indicate the barcode format. If a value is not provided; system will default to CODE_128 |
| cardIdType | string Enum: "PrintText" "ExternalId" "CarrierNumber" Used to determine how card is identified.If a value is not provided; system will default to PrintText. |
This API is used to look up the cardholder agreement URL for a card that has not been created
Details required to show agreements
| country | string The country name where the card will be activated.Examples include United States,Canada,United Kingdom |
| region | string The state (two-character abbreviation for US) or province where the card will be activaated |
| merchant_group | string This unique identifier is provided by EML |
| program | string This unique identifier is provided by EML |
| developer | string This unique identifier is provided by EML |
| bin | string The bin of the card |
| Is_account_expiry | boolean true if the account expires;otherwise false |
| Is_fee_free | boolean true if the card is fee free;otherwise false |
| activation_date | string <date> The potential activation date. Specifying null; or not including the field will assume an activation_date of the current time |
{- "country": "United States",
- "region": "KS",
- "merchant_group": null,
- "program": null,
- "developer": null,
- "bin": "123456",
- "is_account_expiry": null,
- "is_fee_free": false,
- "activation_date": null
}{- "file_name": "2016PDFtest.pdf",
}This API is used to retrieve a card image. Clients may retrieve a specific card's image with a given card ID.
| token | string A one-time use token generated by requesting the card_image field from the look-up card information action |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
| image_src | string The image of the card art to display behind the card information. If not provided, the text will appear in front of white space. This would be value of an image src attribute. |
| style_src | any The style sheet of the card art to override the placement and appearance of card elements on the browswer. If not provide, default styles will be applied. This would be the value of the stylesheet script src attribute. |
{- "card_id": 137719,
- "id": "Z43210987654321X",
- "client_tracking_id": "SampleCTID-A",
- "available_balance": 25.1,
- "currency": "USD",
- "can_activate": false,
- "can_redeem": true,
- "program_can_register": false,
- "security_code": "123456",
- "expiration_date": "/Date(1538369999999)/",
- "account_expiration_date": "/Date(1477890000000)/",
- "is_virtual": true,
- "is_reloadable": false,
- "actual_balance": 25,
- "status": "Active",
- "is_registered": false,
- "activating_merchant_group_name": "EML Payments MG",
- "activating_merchant_group_uniquetag": "EMLPay987",
- "activation_country": "United States",
- "activation_date": "/Date(1377624625133-0500)/",
- "program_name": "EML",
- "program_uniquetag": "EMLFi123",
- "amf_amount": 1,
- "amf_start_date": "/Date(1419746400000-0600)/",
- "amf_next_date": "/Date(1419746400000-0600)/",
- "distributor_refund": false,
- "card_type": "Regular",
- "activation_transaction_id": 123456789,
- "promotion_balance": 25,
- "promotion_type_id": 1,
- "promotion_expiration": "/Date(1477890000000-0500)/",
- "is_organization_registration": false,
- "currency_info": {
- "decimal_digits": 2,
- "group_sizes": [
- 3
], - "symbol": "$"
}, - "adjusted_balance": 25,
- "pin_enabled": true,
- "bank_name": "Bank of US",
- "has_pin": false,
- "is_icc_card": false,
- "has_atm_access": false
}This API is utilized to retrieve exchange rates for a given currency and date. The process allows the client to specify the Program, base currency and date. The API returns a list of currencies each with the European Central Bank rate, the Mastercard rate, as well as the actual rate EML will use that incorporates all foreign exchange fees configured for the Program.
| programtag required | string A 10 character string value that is provided by EML to uniquely identify the client Program. |
| baseCurrency required | string This is the 3 character currency alpha code as defined by ISO 4217 alphabetic code. |
| date | string <date-time> An optional string value to retrieve data for the desired date. If omitted; the date value will be defaulted to the current date. The date format is defined by ISO 8601 - date and time format |
{- "program": "EMLFi123",
- "base_currency_iso_code": "EUR",
- "requested_date": "2020-04-08",
- "currency_conversion_details": [
- {
- "currency_iso_code": "GBP",
- "ecb_rate": "0.857601,",
- "ecb_rate_date": "2020-04-08T00:00:00Z",
- "mastercard_rate": 0.854691,
- "mastercard_rate_date": "2020-04-08",
- "effective_rate": 0.863238,
- "effective_rate_ecb_rate_difference": 0.657299,
- "percentage_fee": 1,
- "fixed_fee": 0
}, - {
- "currency_iso_code": "SEK",
- "ecb_rate": 10.7353,
- "ecb_rate_date": "2020-04-08",
- "mastercard_rate": 10.7353,
- "mastercard_rate_date": "2020-04-08",
- "effective_rate_ecb_rate_difference": 1,
- "percentage_fee": 1,
- "fixed_fee": 0
}
]
}This API is used to retrieve a statement for a given card and time period. Client should be associated with the card's program and needs 'GetCardStatement' permission to perform this action.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| startDate required | string <date> Filters the card statements after this start date. |
| endDate required | string <date> Filters the card statements before this end date. |
| Content-Type | string Supported content types |
{- "BeginningBalance": 700,
- "EndingBalance": 500,
- "PrintText": 1319940000000019,
- "BeginDate": "/Date(638949600000-0600)/",
- "EndDate": "/Date(641451600000-0400)/",
- "PeriodFees": 0,
- "YearFees": 0,
- "FirstName": "John",
- "LastName": "Smith",
- "details": [
- {
- "Date": "/Date(638949700000-0500)/",
- "Action": "ConsumerLoadFunds",
- "Note": "consumer load funds",
- "Credit": 50,
- "Debit": 30,
- "ActualBalance": 500
}
]
}This API is used to retrieve a statement for a given card and a fixed monthly time period. Client should be associated with the card's program and needs 'GetCardStatement' permission to perform this action.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| startDate required | string <date> Filters the card statements after this start date. |
{- "BeginningBalance": 700,
- "EndingBalance": 500,
- "PrintText": 1319940000000019,
- "BeginDate": "/Date(638949600000-0600)/",
- "EndDate": "/Date(641451600000-0400)/",
- "PeriodFees": 0,
- "YearFees": 0,
- "FirstName": "John",
- "LastName": "Smith",
- "details": [
- {
- "Date": "/Date(638949700000-0500)/",
- "Action": "ConsumerLoadFunds",
- "Note": "consumer load funds",
- "Credit": 50,
- "Debit": 30,
- "ActualBalance": 500
}
]
}This API is used to retrieve the registration information for a card.
Note: If DOB is added to a card, the API will return “##/##/####” else it will return no values to indicate there is no DOB added to the card.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "first_name": "Jack",
- "last_name": "Doe",
- "email": "name@domain.com",
- "address1": "12320 Main 1",
- "address2": "Apt.",
- "phone": 9135552222,
- "city": "Kansas City.",
- "state": "MO",
- "zip": 64131,
- "country": "USA",
- "print_Text": 1234567890123456,
- "dob": null
}This API is used to retrieve card information. Clients may retrieve a specific card's information with a given card ID.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
| log_balance_inquiry | boolean True/false. When true a balance inquiry will be logged and; if applicable; the AMF reset date will be updated. |
| only_valid_status | boolean True/false. When true only returns cards with a valid status to be displayed to the Card Holder. |
| security_code | string When provided compares the given value to the security code for the card. If they do not match an http 500 error is returned. |
{- "card_id": 137719,
- "id": "Z43210987654321X",
- "client_tracking_id": "SampleCTID-A",
- "available_balance": 25.1,
- "currency": "USD",
- "can_activate": false,
- "can_redeem": true,
- "program_can_register": false,
- "security_code": "123456",
- "expiration_date": "/Date(1538369999999)/",
- "account_expiration_date": "/Date(1477890000000)/",
- "is_virtual": true,
- "is_reloadable": false,
- "actual_balance": 25,
- "status": "Active",
- "is_registered": false,
- "activating_merchant_group_name": "EML Payments MG",
- "activating_merchant_group_uniquetag": "EMLPay987",
- "activation_country": "United States",
- "activation_date": "/Date(1377624625133-0500)/",
- "program_name": "EML",
- "program_uniquetag": "EMLFi123",
- "amf_amount": 1,
- "amf_start_date": "/Date(1419746400000-0600)/",
- "amf_next_date": "/Date(1419746400000-0600)/",
- "distributor_refund": false,
- "card_type": "Regular",
- "activation_transaction_id": 123456789,
- "promotion_balance": 25,
- "promotion_type_id": 1,
- "promotion_expiration": "/Date(1477890000000-0500)/",
- "is_organization_registration": false,
- "currency_info": {
- "decimal_digits": 2,
- "group_sizes": [
- 3
], - "symbol": "$"
}, - "adjusted_balance": 25,
- "pin_enabled": true,
- "bank_name": "Bank of US",
- "has_pin": false,
- "is_icc_card": false,
- "has_atm_access": false
}This API is used to retrieve card information via POST request rather than a query string.
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| card_id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
| log_balance_inquiry | boolean True/false. When true a balance inquiry will be logged and; if applicable; the AMF reset date will be updated. |
| only_valid_status | boolean True/false. When true only returns cards with a valid status to be displayed to the Card Holder. |
| security_code | string When provided compares the given value to the security code for the card. If they do not match an http 500 error is returned. |
{- "card_id": "string",
- "search_parameter": "ActualCardNumber",
- "fields": "string",
- "log_balance_inquiry": true,
- "only_valid_status": true,
- "security_code": "string"
}{- "card_id": 137719,
- "id": "Z43210987654321X",
- "client_tracking_id": "SampleCTID-A",
- "available_balance": 25.1,
- "currency": "USD",
- "can_activate": false,
- "can_redeem": true,
- "program_can_register": false,
- "security_code": "123456",
- "expiration_date": "/Date(1538369999999)/",
- "account_expiration_date": "/Date(1477890000000)/",
- "is_virtual": true,
- "is_reloadable": false,
- "actual_balance": 25,
- "status": "Active",
- "is_registered": false,
- "activating_merchant_group_name": "EML Payments MG",
- "activating_merchant_group_uniquetag": "EMLPay987",
- "activation_country": "United States",
- "activation_date": "/Date(1377624625133-0500)/",
- "program_name": "EML",
- "program_uniquetag": "EMLFi123",
- "amf_amount": 1,
- "amf_start_date": "/Date(1419746400000-0600)/",
- "amf_next_date": "/Date(1419746400000-0600)/",
- "distributor_refund": false,
- "card_type": "Regular",
- "activation_transaction_id": 123456789,
- "promotion_balance": 25,
- "promotion_type_id": 1,
- "promotion_expiration": "/Date(1477890000000-0500)/",
- "is_organization_registration": false,
- "currency_info": {
- "decimal_digits": 2,
- "group_sizes": [
- 3
], - "symbol": "$"
}, - "adjusted_balance": 25,
- "pin_enabled": true,
- "bank_name": "Bank of US",
- "has_pin": false,
- "is_icc_card": false,
- "has_atm_access": false
}This API is used to access a card's transaction history and will return zero (0) or more transactions. The level of detail in this transaction history is relatively extensive and therefore would not be suitable for presentation to card holders.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
| filter | string Filter the list of transactions: pass in 'customer' for the Customer View of the Transactions List |
| startDate | string <date> Filter the results with a transaction date after this date |
| endDate | string <date> Filter the results with a transaction date before this date |
| take | integer The number of results to return Default is 20. Maximum 10000 |
| skip | integer The number of results to offset in order to return the current page. default 0 |
{- "count": 3,
- "transactions": [
- {
- "timestamp": "/Date(1497389473030)/",
- "user": "User Name",
- "activity": "Manual Adjustment",
- "location": "Location",
- "reason": "Manual Adjustment",
- "result": "Adjusted",
- "amount": -1.01,
- "currency": "EUR",
- "notes": "test",
- "system_transaction_id": 58569654
}, - {
- "timestamp": "/Date(1497387301427)/",
- "activity": "Authorization Request",
- "location": "Location",
- "reason": "Transaction currency does not match card currency",
- "result": "Declined",
- "amount": -5,
- "currency": "EUR",
- "system_transaction_id": 85624587,
- "merchant_country": " AUT",
- "merchant_category_code": "Miscellaneous General Merchandise Stores (1234)"
}, - {
- "timestamp": "/Date(1497389181353)/",
- "activity": "Purchase",
- "location": "Location",
- "reason": "014X55",
- "result": "Reconciled",
- "amount": -5.01,
- "currency": "EUR",
- "system_transaction_id": 89248394
}
]
}This API is utilized to verify service connectivity. Always returns 'Healthy' status along with the current UTC time. If the service is unreachable, no response will be returned.
{- "Status": "Healthy",
- "UtcDateTime": "2025-09-12T15:04:29.9410840Z"
}This API is utilized to retrieve 3D Secure enrollment information.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
{- "status": "enrolled",
- "modified_date": "/Date(1224043200000)/"
}This API is utilized to enroll card(s) in 3D Secure.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
Details about the 3DS card enrollment
| languages required | Array of strings Items Enum: "en" "fr" "de" "it" "es" "nl" "pt" "cs" "ro" "sv" "fi" "no" "et" "da" "lt" The language used for all interactions with the cardholder (authentication page; etc.). |
| phone_numbers | Array of strings The phone number used to send the one-time password to the cardholder. Required for "sms" challenge method. The phone number must be numeric-only; prefixed with the country code and contain no leading zeros. |
| challenge_methods | Array of strings Items Value: "SMS" The method used to authenticate the cardholder's identity for an online transaction. Valid values are: |
{- "languages": [
- "en"
], - "phone_numbers": [
- 12223334444
], - "challenge_methods": [
- "sms"
]
}{- "enrolled": true
}This API is utilized to un-enroll a previously enrolled card in 3D Secure.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
{- "enrolled": true
}This API is utilized to activate a card.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details about the card activation
| amount required | number <decimal> The amount to load on the card. For fixed denomination cards the value passed must match that of the card. |
| merchant_group required | string = 10 characters This unique identifier is provided by EML. |
object The activating location. By default, the activating lcoation will be the account used to make the request. | |
| campaign | string This value is used in reporting to further filter metadata. |
| client_time | string <unix-epoch> Local time of the request |
| sales_channel required | string <= 255 characters Enum: "Online" "InPerson" "PhoneOrder" "PosActivation" "ThirdParty" "BulkFulfillment" "Mobile" "None" Sales Channel identifier used in reporting. The activation will fail if the sales channel value is invalid. |
| note | string A value provided by the client: usually descriptive. |
| client_tracking_id | string <= 50 characters A client-assigned value that uniquely identifies a card within the scope of a program. If the card being activated already has a client tracking id, this property should not be provided. |
| client_reference_number | string <= 50 characters A unique value assigned by the client. It is used in reporting to further filter metadata. |
| cardholder_user_id | string A value assigned by the client to identify its cardholders. |
| card_type | string <= 50 characters The type of card. |
| client_order_date | string <unix-epoch> A date assigned by the client used in reporting to further filter metadata. |
Array of objects A list of structured notes to associate with the card. | |
| is_activation_lock | boolean A value to indicate if the card should be locked upon activation. |
| payment_type | string <= 50 characters The type of payment. |
| property_fee | number <decimal> The property fee amount for the card activation. |
{- "amount": 100,
- "merchant_group": "EMLFi98765",
- "location": {
- "name": "EML Payments",
- "address1": "8330 Ward Pkwy",
- "address2": "4th floor",
- "city": "Kansas City",
- "state": "MO",
- "province": "ON",
- "country": "USA",
- "postal_code": "64114-2027"
}, - "campaign": "Mother's Day 2016: Back to School",
- "client_time": "string",
- "sales_channel": "Online",
- "note": "string",
- "client_tracking_id": "CTID123",
- "client_reference_number": "string",
- "cardholder_user_id": "string",
- "card_type": "Regular",
- "client_order_date": "string",
- "card_notes": [
- {
- "note_type": "string",
- "note": "string"
}
], - "is_activation_lock": true,
- "payment_type": "Card",
- "property_fee": 1
}{- "code": 400,
- "message": "Request missing location or invalid value provided"
}This API is utilized to activate and optionally register a batch of virtual cards.
Details about the card activation
| correlation_id | string <= 255 characters A unique value provided by the client to uniquely identify the request. Will be echoed back in the response |
| program required | string <= 10 characters A 10 character string value that is proviced by EML to uniquely identify the client program |
| merchant_group required | string <= 10 characters A 10 character string value that is proviced by EML to uniquely identify the client Merchant Group |
| currency | string <= 3 characters The ISO 4217 alphabetic code associated to currency. This field is required for programs with virtual card orders for multiple currencies. |
| country | string <= 3 characters This is the country code as defined by ISO 3166-1 alpha-3 code. This field is required for programs associated to multiple countries. |
| note | string <= 4000 characters A value provided by the client: usually descriptive |
| client_reference_number | string <= 50 characters A unique vluae assigned by the client: used in reporting to further filter metadata |
| client_order_date | string <unix-epoch> A date assigned by the client used in reporting to further filter metadata |
object |
{- "correlation_id": "COR123",
- "program": "EMLFi123",
- "merchant_group": "EMLFi987",
- "cards": [
- {
- "amount": 100,
- "client_tracking_id": "CTID123"
}, - {
- "amount": 200,
- "client_tracking_id": "CTID124"
}
]
}{- "code": 400,
- "message": "The required parameter 'program' is missing or invalid."
}This API is utilized activate a batch of cards.
Details about the batch activations
| program required | string A unique identifier provided by EML. |
Array of objects |
{- "program": "EMLFi123",
- "details": [
- {
- "client_tracking_id": "SampleCTID-CBA-1",
- "card_amount": 37.43,
- "action": 1,
- "campaign_name": "Campaign1",
- "cardholder_first_name": "Tim",
- "cardholder_last_name": "Brown",
- "cardholder_address1": "7171 95th St",
- "cardholder_city": "Toronto",
- "cardholder_state": "ST",
- "cardholder_province": "ON",
- "cardholder_postal_code": "M1R 4B0",
- "cardholder_country": "CA",
- "shipping_order_type": null,
- "shipping_carrier": "US",
- "shipping_type": "1C",
- "card_setup_code": 600,
- "card_logo_code": 7,
- "card_envelope_code": 8,
- "card_carrier_code": 9,
- "card_insert_1code": 10,
- "card_insert_2code": 0,
- "card_terms_and_conditions_code": 0,
- "ird_unique_tag": "IRD1",
- "activate_card": true
}
]
}{- "code": 400,
- "message": "The required parameter 'program' is missing or invalid"
}This API enables bulk activation of cards between the first and last card with the specified amount, from the same card order.
Details about the bulk card activation
| first_card_id required | string First card identifier. |
| last_card_id required | string Last card identifier. |
| search_parameter | string Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| number_of_cards | integer Expected number of cards to be activated. Must match the actual count between firstcard and lastcard. If provided and mismatched, the request will fail. |
| amount required | number <decimal> The amount to load on the card. |
| program required | string = 10 characters The unique identifier of the card's program. |
| merchant_group required | string = 10 characters This unique identifier of the card's merchant group. |
| location_name | string <= 100 characters Activating location name. |
| campaign | string <= 100 characters This value is used in reporting to further filter metadata. |
| sales_channel required | string <= 255 characters Enum: "Online" "InPerson" "PhoneOrder" "PosActivation" "ThirdParty" "BulkFulfillment" "Mobile" "None" Sales Channel identifier used in reporting. The activation will fail if the sales channel value is invalid. |
| card_type | string <= 50 characters Default: "Regular" The type of card. If not provided, the default value is set to 'Regular'. |
| is_activation_lock | boolean Default: false A value to indicate if the card should be locked upon activation. If not provided, the default value is set to 'False'. |
| payment_type | string <= 50 characters Default: "Cash" The type of payment. If not provided, the default value is set to 'Cash'. |
| note required | string <= 255 characters A value provided by the client. usually descriptive. Must be 255 characters or less. |
| client_reference_number | string <= 50 characters A unique value assigned by the client. It is used in reporting to further filter metadata. |
{- "first_card_id": "ZTYGD5V8CLZBWQJ8",
- "last_card_id": "ZJHGD5V8CLZBWQJ7",
- "search_parameter": "PrintText",
- "number_of_cards": 4,
- "amount": 100,
- "program": "Progr12345",
- "merchant_group": "EMLFi98765",
- "location_name": "Test Location",
- "campaign": "Test Campaign",
- "sales_channel": "Online",
- "card_type": "Regular",
- "is_activation_lock": false,
- "payment_type": "Card",
- "note": "test note",
- "client_reference_number": "test"
}{- "number_of_cards_activated": 4,
- "per_card_fee": 1.5,
- "transaction_fee": 2,
- "total_amount": 48,
- "cards_activated": [
- {
- "card_id": 11236,
- "external_id": "string",
- "amount": 100,
- "card_activation_system_transaction_id": 1123456
}
]
}Creates a new token for a given card. This token can be used with other APIs related to a card. The client needs permission to perform this action.
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
The information required to create a new token. The client must be associated with the program of the card in the request.
| card_id required | string Uniquely identifies a card. See search_parameter for the types of values that may be used. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates which unique value is used to identify the card. |
| expiration required | string <date-time> The token expiration date in ISO 8601 format. The expiration must be later than the current date. |
| scopes | Array of strings unique A list of the scopes to which a token should apply. |
{- "card_id": "string",
- "search_parameter": "ActualCardNumber",
- "expiration": "20200101T00:00:00Z",
- "scopes": [
- "activation",
- "origination"
]
}{- "token": "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ"
}Reads, validates, and returns information about a card token. The client needs permission to perform this action.
| token required | string <byte> Example: token=eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ A base64-encoded card token. The client must be associated with the card the token is for. |
{- "card_id": "ZZ9DH4STVMX6XWMR",
- "expiration": "20200101T00:00:00Z",
- "status": "valid",
- "scopes": [
- "activation",
- "origination"
], - "links": {
}
}Returns the status of an identification operation for a cardholder using a CIP token.
| token required | string <byte> Example: token=eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ A base64-encoded CIP token. The client must be associated with the program the token is associated with. |
{- "status": "pending"
}This API is used to create and activate a card and initiate a WL tokenized email
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to create and activate a card and initiate a WL tokenized email
| first_name required | string <= 50 characters First name (alpha and space characters only) |
| last_name required | string <= 50 characters Last name (alpha and space characters only) |
| birthdate required | string <date> Account holder's date of birth (mm/dd/yyyy) |
| national_identity_number required | string Account holder's full national identity number |
| address required | string <= 255 characters Address line |
| city required | string <= 255 characters City |
| state | string Required when country utilizes states. This is the state abbreviation as defined by ISO 3166-2. |
| province | string Required when country utilizes provinces. This is the province abbreviation as defined by ISO 3166-2. |
| postal_code | string Required when country utilizes postal codes |
| country required | string This is the country code as defined by ISO 3166-1 alpha-3 code |
| email required | string <email> Email Address. Format 'test@email.com' |
| phone | string Account holder's phone number (nnnnnnnnnn). Required when CIP is required for the program AND when country = CAN. |
| occupation | string Account holder's occupation. Required when CIP is required for the program AND when country = CAN. |
| program_tag required | string The unique tag of the program |
| merchant_group_tag | string The unique tag of the merchant group |
| amount required | string <decimal> Initial funds to load onto card |
| client_reference_number | string <= 50 characters A reference number created by the client for use in reporting. Max length is 50 characters |
| culture | string Origination email will use culture to determine language. If no value is included then default culture of BIN will be used. |
| identity_verification_date | string <date> The date on which a customer's identity was verified. |
| identity_document_type | string <= 50 characters The identity document type such as driver's licence or passport. |
| identity_document_id | string <= 50 characters The identity document's unique identifier. |
| identity_document_jurisdiction | string <= 50 characters The state or province and country that issued the identity document. |
| identity_document_expiration_date | string <date> The identity document's expiration date. |
{- "first_name": "Test",
- "last_name": "Testerson",
- "birthdate": "01/01/1960",
- "national_identity_number": "1234567890",
- "address": "123 Fake St.",
- "city": "Kansas City",
- "province": "MO",
- "postal_code": "12345",
- "country": "CAN",
- "email": "fake@fake.com",
- "amount": "100.00",
- "client_reference_number": "123456789",
- "occupation": "cashier",
- "phone": "1234567890",
- "program_tag": "Prgrm913",
- "merchant_group_tag": "Prgrm789",
- "culture": "de-DE"
}{- "validation_result": "string"
}Creates a new card. The client needs permission to perform this action.
The information required to create a new card. The client must be associated with the program in the request.
| program_tag required | string = 10 characters The unique tag of the program for which to create a card. |
| client_tracking_id | string <= 50 characters A client-assigned value that uniquely identifies a card within the scope of a program. |
{- "program_tag": "Progr12345",
- "client_tracking_id": "Client-Assigned-Id-1"
}{- "id": "ZZ9DH4STVMX6XWMR",
- "currency": "USD",
- "expiration_date": "2020-01-31",
- "account_expiration_date": "2020-01-31",
- "program_tag": "Progr12345"
}Creates a new merchant group.
The information required to create a new merchant group.
| verification_token required | string <byte> A base64-encoded verification token issued by EML Payments. |
| name required | string <= 255 characters The name of the merchant group. |
object Defines the merchant group's brand. | |
| program_tags required | Array of strings non-empty The unique tags of the programs to associate with the merchant group. |
| email required | string <email> <= 255 characters The merchant group contact email address. |
| timezone required | string The merchant group timezone as defined in the IANA tz 'Area/Location' format. |
required | object or object The merchant group contact location. |
{- "verification_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwcm9nMTIzNDU2IiwiaXNzIjoid2Vic2VydmljZXMuZW1scGF5bWVudHMuY29tIiwiaWF0IjoxMzAwODE5MzgwLCJleHAiOjEzMDA4MTkzODAsInNjcCI6WyJjcmVhdGVfbWVyY2hhbnRfZ3JvdXAiXSwicHJvZ3JhbV90YWciOiJwcm9nMTIzNDU2IiwicmV1c2FibGUiOnRydWV9.GsUW97nBkBNS3NtXGBwg0Q4l9_E1UgdErWvE2ZcakHs",
- "name": "Example Merchant Group",
- "brand": {
- "name": "Example Brand",
- "type": "Mall"
}, - "program_tags": [
- "Prog123456",
- "Progr54321"
], - "email": "john.doe@example.com",
- "timezone": "America/Chicago",
- "location": {
- "address1": "8330 Ward Pkwy",
- "address2": "4th floor",
- "city": "Kansas City",
- "state": "MO",
- "country": "USA",
- "postal_code": "64114-2027"
}
}{- "unique_tag": "MercGrp123",
- "name": "Example Merchant Group",
- "brand": {
- "name": "Example Brand",
- "type": "Mall"
}, - "program_tags": [
- "Prog123456",
- "Progr54321"
], - "email": "john.doe@example.com",
- "timezone": "America/Chicago",
- "location": {
- "address1": "8330 Ward Pkwy",
- "state": "MO",
- "country": "USA"
}
}Creates a pseudo account for a card if one does not already exist. The client must be associated with the program of the card in the request.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "account_number": "string",
- "routing_number": "string"
}This API is utilized to create a new disbursement account. Client needs write permission on the disbursement account to perform this action.
Details required to create a new disbursement account.
required | object (BankAccount-2) |
| description required | string <= 500 characters Description of the disbursement account |
| references | Array of strings An array of strings that are used to find the disbursement account when it is in a funding file |
| program_tags | Array of strings The unique tags of the program(s) this disbursement account will be viewable by. Only required if the user is associated to more than one program. |
{- "bank_account": {
- "name": "Barclays",
- "currency": "USD",
- "account_identifier": "A0364733014142",
- "account_number": "1234567891237689",
- "routing_number": "081000032"
}, - "description": "DA account description",
- "references": [
- "ref1",
- "ref2"
], - "program_tags": [
- "5points001"
]
}{- "id": 1,
- "account_balance": 1,
- "overdraft_limit": 3,
- "available_balance": 4,
- "bank_account": {
- "name": "Barclays",
- "currency": "USD",
- "account_identifier": "A0364733014142",
- "account_number": "1234567891237689",
- "routing_number": "081000032"
}, - "description": "DA account description",
- "references": [
- "ref1",
- "ref2"
], - "program_tags": [
- "5points001"
]
}This API is utilized to get a summary of all disbursement accounts viewable by the user. Client needs read permission on the disbursement account to perform this action.
| pageSize | integer The number of results to return. Default is 100. Maximum limit is 100. |
| pageNumber | integer The page number. Default is 1. |
| filter | string Filters the list of disbursement accounts by given text |
| sortAscending | boolean Sorts the results in ascending order. |
| sortColumn | string Enum: "Description" "Balance" "OverdraftLimit" "AvailableBalance" "BankAccountName" The column by which the results are sorted. |
{- "disbursement_accounts": [
- {
- "id": 1,
- "account_balance": 1,
- "overdraft_limit": 3,
- "available_balance": 4,
- "bank_account": {
- "name": "bankaccount1",
- "currency": "USD",
- "account_identifier": "A0364733014143",
- "account_number": "1234567891237690",
- "routing_number": "081000031"
}, - "description": "DA account desc A"
}, - {
- "id": 2,
- "account_balance": 2,
- "overdraft_limit": 2,
- "available_balance": 4,
- "bank_account": {
- "name": "bankaccount2",
- "currency": "USD",
- "account_identifier": "A0364733014142",
- "account_number": "1234567891237689",
- "routing_number": "081000032"
}, - "description": "DA account desc B"
}
]
}This API is utilized to get a disbursement account for the given ID. Client needs read permission on the disbursement account to perform this action.
| id required | integer Disbursement Account ID |
{- "id": 1,
- "account_balance": 1,
- "overdraft_limit": 3,
- "available_balance": 4,
- "bank_account": {
- "name": "Barclays",
- "currency": "USD",
- "account_identifier": "A0364733014142",
- "account_number": "1234567891237689",
- "routing_number": "081000032"
}, - "description": "DA account description",
- "references": [
- "ref1",
- "ref2"
], - "program_tags": [
- "5points001"
]
}This API is utilized to update an existing disbursement account. Client needs write permission on the disbursement account to perform this action.
| id required | integer Disbursement Account ID |
Details required to update an existing disbursement account
| description | string <= 500 characters Description of the disbursement account. |
| enabled | boolean Indicates if disbursement account to be enabled or disabled. Default value is true. |
| references | Array of strings An array of strings that are used to find the disbursement account when it is in a funding file |
| program_tags | Array of strings The unique tags of the program(s) this disbursement account will be viewable by. Only required if the user is associated to more than one program. |
{- "description": "DA account description",
- "enabled": true,
- "references": [
- "ref1",
- "ref2"
], - "program_tags": [
- "5points001",
- "points1349"
]
}{- "id": 1,
- "account_balance": 1,
- "overdraft_limit": 3,
- "available_balance": 4,
- "bank_account": {
- "name": "Barclays",
- "currency": "USD",
- "account_identifier": "A0364733014142",
- "account_number": "1234567891237689",
- "routing_number": "081000032"
}, - "description": "DA account description",
- "references": [
- "ref1",
- "ref2"
], - "program_tags": [
- "5points001"
]
}This API is utilized to get the default disbursement account for a merchant group or program. Client needs read permission on the disbursement account and access to the given program (and merchant group) to perform this action.
| programtag required | string The unique tag of the program(s) this disbursement account will be viewable by |
| merchantgrouptag | string The unique tag of the merchant group associated to the program |
{- "id": 1,
- "account_balance": 1,
- "overdraft_limit": 3,
- "available_balance": 4,
- "bank_account": {
- "name": "Barclays",
- "currency": "USD",
- "account_identifier": "A0364733014142",
- "account_number": "1234567891237689",
- "routing_number": "081000032"
}, - "description": "DA account description",
- "references": [
- "ref1",
- "ref2"
], - "program_tags": [
- "5points001"
]
}This API is utilized to set a default disbursement account for a merchant group or program. Client needs write permission on the disbursement account and access to the given program (and merchant group) to perform this action.
| programtag required | string The unique tag of the program(s) this disbursement account will be viewable by |
| merchantgrouptag | string The unique tag of the merchant group associated to the program |
Details required to set a default disbursement account
| id required | integer Uniquely identifies a disbursement account. |
{- "id": 1
}{- "code": 400,
- "message": "Request missing disbursement account ID or invalid value provided"
}This API is utilized to get ledger entries for a disbursement account. Client needs read permission on the disbursement account to perform this action.
| id required | integer Disbursement Account ID |
| pageSize | integer The number of results to return. Default is 100. Maximum limit is 100. |
| pageNumber | integer The page number. Default is 1. |
| filter | string Filters the list of disbursement accounts by given text |
| startDate required | string <date> Filters the results with a created date after this date |
| endDate required | string <date> Filter the results with a created date before this date |
{- "ledger_entries": [
- {
- "id": 347,
- "amount": 0,
- "client_tracking_id": null,
- "external_id": null,
- "created_date": "2021-07-22T11:07:03.8719059-05:00",
- "note": null,
- "system_transaction_id": null,
- "source_type": "API Entry",
- "user_name": "devadmin"
}, - {
- "id": 348,
- "amount": 0,
- "client_tracking_id": null,
- "external_id": null,
- "created_date": "2021-07-22T11:07:03.8719059-05:00",
- "note": null,
- "system_transaction_id": null,
- "source_type": "API Entry",
- "user_name": "devadmin"
}
], - "total": 22,
- "page_number": 1
}Gets the status of an email that has been sent.
| id required | number The email request id. |
{- "id": 0,
- "from": "noreply@emlpayments.com",
- "to": "jane_doe@example.com",
- "template_id": "679923ae76c145659dc9861a5f7cd8a8",
- "status": "pending"
}Sends an email using a predefined template and dynamic data.
The information required to send an email.
| program_tag | string = 10 characters The unique identifier of a program for which an email is intended. The client must be associated with the program. |
| merchant_group_tag | string = 10 characters The unique identifier of a merchant group for which an email is intended. The client must be associated with the merchant group if it is provided. |
required | object The email sender. |
required | object The email recipient. |
required | object Describes the email template to use. |
object The email attachments. |
{- "program_tag": "Progr54321",
- "merchant_group_tag": "MercGrp123",
- "from": {
- "email": "noreply@emlpayments.com",
- "name": "EML Payments"
}, - "to": {
- "email": "jane_doe@example.com",
- "name": "Jane Doe"
}, - "template": {
- "id": "d-679923ae76c145659dc9861a5f7cd8a8",
- "data": {
- "amount": 10,
- "card_token": "obog3a0ofeqmkriyqkn9juy7luwjh4x1xtp6fl9v"
}
}, - "attachments": {
- "content": "JVBERi0xLg10cmFpbGVyPDwvUm9vdDw8L1BhZ2VzPDwvS2lkc1s8PC9NZWRpYUJveFswIDAgMyAzXT4+XT4+Pj4+Pg==",
- "filename": "attachment.pdf",
- "type": "application/pdf",
- "disposition": "attachment, inline"
}
}{- "id": 0,
- "from": "noreply@emlpayments.com",
- "to": "jane_doe@example.com",
- "template_id": "679923ae76c145659dc9861a5f7cd8a8",
- "status": "pending"
}Retrieves a ledger entry by its id. The client needs read permission on the corresponding disbursement account.
| id required | integer Disbursement Account ID |
| ledgerEntryId required | integer The id of the ledger entry being requested. |
{- "id": 347,
- "amount": 1,
- "client_tracking_id": "string",
- "external_id": "string",
- "created_date": "2024-07-22T11:07:03.8719059-05:00",
- "note": "string",
- "system_transaction_id": 0,
- "source_type": "API Entry",
- "user_name": "devadmin"
}Retrieves a ledger entry's associated bank statements if any exist. The client needs read permission on the corresponding disbursement account.
| id required | integer Disbursement Account ID |
| ledgerEntryId required | integer The id of the ledger entry being requested. |
{- "statements": [
- {
- "transaction_date": "2019-08-24T14:15:22Z",
- "customer_id": "string",
- "account": {
- "account_number": "string",
- "currency": "str"
}, - "debit_amount": 0,
- "credit_amount": 0,
- "is_credit": true,
- "instructed_amount": 0,
- "instructed_amount_currency": "str",
- "transaction_amount": 0,
- "transaction_amount_currency": "str",
- "exchange_rate": 0,
- "debtor": {
- "bank_code": "string",
- "account_number": "string",
- "lines": [
- "string"
]
}, - "beneficiary": {
- "bank_code": "string",
- "account_number": "string",
- "lines": [
- "string"
]
}, - "payment_reference_number": "string",
- "file_reference_number": "string",
- "user_reference_number": "string",
- "payment_details": [
- "string"
], - "bank_transaction_code": {
- "domain": "stri",
- "family": "stri"
}
}
]
}Acquires and assigns IBANs to a card. The IBANs are also assigned to the provided disbursement account or the card's default disbursement account. The card must be active and registered.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
The information required to allocate IBANs to a card.
| merchant_group_tag | string = 10 characters The unique identifier of a merchant group to use to determine the default disbursement account. The client must be associated with the merchant group if it is provided. |
| disbursement_account_id | integer Identifies a disbursement account to which IBANs should be assigned. If not provided, the default disbursement account will be used. |
{- "merchant_group_tag": "MercGrp123",
- "disbursement_account_id": 1
}{- "id": "ZZ9DH4STVMX6XWMR",
- "ibans": [
- "string"
], - "disbursement_account_id": 0,
- "additional_ibans_pending": true,
- "links": {
- "disbursement_account": {
}
}
}Retrieves information about a card's IBANs.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "id": "ZZ9DH4STVMX6XWMR",
- "ibans": [
- "string"
], - "additional_ibans_pending": true
}Performs CIP on a cardholder. The client needs permission to perform this action.
The information required to CIP a cardholder.
| first_name required | string <= 50 characters ^[A-Za-z ]+$ The customer's first name. |
| last_name required | string <= 50 characters ^[A-Za-z ]+$ The customer's last name. |
| birthdate required | string <date> The customer's date of birth. |
| national_identity_number required | string The customer's full national identity number. |
| address required | string <= 255 characters The customer's street address. |
| city required | string <= 255 characters The customer's city. |
| state required | string = 2 characters The customer's state abbreviation as defined by ISO 3166-2. It is required when the customer's country has states. |
| province | string = 2 characters The customer's province abbreviation as defined by ISO 3166-2. It is required when the customer's country has provinces. |
| country required | string = 3 characters The customer's country code as defined by ISO 3166-1 alpha-3. |
| postal_code required | string <= 12 characters The customer's postal code. |
| email required | string <email> <= 255 characters The customer's email address. |
| phone | string <= 20 characters The customer's phone number. Required when country is 'CAN'. |
| occupation | string <= 255 characters The customer's occupation. Required when country is 'CAN'. |
| program_tag | string = 10 characters The unique tag of the program for which a customer is being identified. Only required if a client is associated with multiple programs. |
object Information about the customer's identity document. Required when country is 'CAN'. |
{- "first_name": "Jane",
- "last_name": "Doe",
- "birthdate": "1970-01-01",
- "national_identity_number": "string",
- "address": "8330 Ward Pkwy",
- "city": "Kansas City",
- "state": "MO",
- "province": "ON",
- "country": "USA",
- "postal_code": "64114-2027",
- "email": "jane.doe@example.com",
- "phone": "+18165550124",
- "occupation": "string",
- "program_tag": "Prog123456",
- "identity_document": {
- "verification_date": "1970-01-01",
- "type": "Driver's License",
- "id": "K12-34-5678",
- "jurisdiction": "KS, USA",
- "expiration_date": "2001-01-01"
}
}{- "token": "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ",
- "status": "pending"
}This API is used to create and activate a card and link it to an EML whitelabel account
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
Details required to create and activate a card and link it to an EML whitelabel
| client_tracking_id required | string A value assigned by the client that uniquely identifies the gaming account |
| first_name required | string <= 50 characters First name (alpha and space characters only) |
| middle_name | string <= 50 characters Middle name (alpha and space characters only) |
| last_name required | string <= 50 characters Last name (alpha and space characters only) |
| date_of_birth required | string <mm/dd/yyyy> Account holder's date of birth (mm/dd/yyyy) |
| social_security_number required | string Account holder's full social security number (nnnnnnnnnn) |
| address1 required | string <= 255 characters First address line |
| address2 | string <= 255 characters Second address line |
| city required | string <= 255 characters City |
| state | string Required when country utilizes states. This is the state abbreviation as defined by ISO 3166-2. |
| province | string Required when country utilizes provinces. This is the province abbreviation as defined by ISO 3166-2. |
| postal_code | string Required when country utilizes postal codes |
| country required | string This is the country code as defined by ISO 3166-1 alpha-3 code |
| email required | string <email> Email Address. Format 'test@email.com' |
| phone | string Account holder's phone number (nnnnnnnnnn). Required when CIP is required for the program AND when country = CAN. |
| occupation | string Account holder's occupation. Required when CIP is required for the program AND when country = CAN. |
| card_design | string Indicates the card design selected by the cardholder. Valid values are provided by EML. |
| merchant_group | string This unique identifier is provided by EML |
| card_type | string Indicates the type of card to be created; 'physical' or 'virtual'. If not defined in the call EML will default to physical. |
| third_line_emboss | string <= 22 characters This gets printed on the third line of raised writing on the card. |
| fourth_line_emboss | string <= 22 characters This gets printed on the fourth line of raised writing on the card. |
| shipping_carrier | string <= 2 characters Identifies the partner that will ship the card, your implementation specialist will provide this value to you. |
| shipping_type | string <= 2 characters Identifies the partner that will ship the card, your implementation specialist will provide this value to you. |
object Additional fields can be added to this object that can be passed through to the card manufacturer. Please consult with your implementation manager to define these fields for use. |
{- "client_tracking_id": "Your_Account_ID",
- "first_name": "Test",
- "last_name": "Testerson",
- "date_of_birth": "01011960",
- "social_security_number": "1234567890",
- "address1": "123 Fake St.",
- "city": "Kansas City",
- "state": "MO",
- "postal_code": "12345",
- "country": "USA",
- "email": "fake@fake.com",
- "card_design": "Design1",
- "third_line_emboss": "thirdline",
- "fourth_line_emboss": "fourthline",
- "shipping_carrier": "SC",
- "shipping_type": "ST",
- "additional_data": {
- "name_on_card": "TEST TESTERSON 3RD,",
- "card_design_id": "a5d708d8-8437-4c09-9dae-2a1fa9a45750,",
- "CPI_logo_code": "CL,",
- "business_name": "Test business name,",
- "secondary_logo": "Test secondary logo,",
- "primary_contact_method": "mail,",
- "client_account_code": "1234,",
- "batch_integration_number": 10
}
}{- "client_tracking_id": "Your_Account_ID"
}This API is used to provide EML with the outcome of the Partner Challenge Request.
Details about the 3DS partner challenge
| replyDate required | string <unix-epoch> The date of the reply |
| correlationID required | string A unique identifier assigned to this transaction. This value was provided in the Partner Challenge Request webhook. |
| authenticationStatus required | string Enum: "declined" "authenticated" The status of the challenge. |
{- "replyDate": "string",
- "correlationID": "string",
- "authenticationStatus": "declined"
}This API activates a virtual card and then sends a tokenized email to the specified address.
| fields | string A comma-separated list of the fields to include in the response.
The special value "all" may be provided to return all response fields.
The |
The information required to request a plastic card.
| amount required | number <decimal> The amount to load on the card. |
| merchant_group required | string (MerchantGroup) = 10 characters The Merchant Group Unique Tag associated with the card. |
| program required | string The unique tag of the program. |
| cardholder_email_address required | string Email address used by system to send activation email. |
| cardholder_user_id required | string Value used by client to identify cardholder. |
| client_security_code required | string Data user will use to verify identity and activate card. |
| currency | string The ISO 4217 currency alpha code (i.e. “USD”; “EUR”;”GBP”; etc.). If the contact is associated to card orders in more than one currency; a value is required to determine which currency to use. |
object | |
| campaign | string Campaign identifier used in reporting. |
| client_order_date | string <date-time> A date created by the client for use in reporting. |
| client_reference_number | string A reference number created by the client for use in reporting. Max length is 50 characters. |
| client_time | string <date-time> Local time of the request. |
| client_tracking_id | string Assigns a card identifier to the new card which can then be used with future API requests by making the request passing the value as the Card Identifier and the search_parameter as ClientTrackingId. Max length is 50 characters. |
{- "amount": 25,
- "currency": "USD",
- "program": "StoreFi123",
- "merchant_group": "StoreFi987",
- "location": {
- "country": "USA"
}, - "client_time": "/Date(1224043200000)/",
- "cardholder_user_id": "x12345rtrrfgrs12345",
- "client_security_code": "ABC123",
- "cardholder_email_address": "test@test.com",
- "client_tracking_id": "SampleCTID-A-Virtual-2",
- "client_reference_number": 12345,
- "client_order_date": "/Date(1224043200000)/",
- "campaign": "Holiday In-Store"
}{- "id": "Z43210987654321X",
- "client_tracking_id": "SampleCTID-A",
- "available_balance": 25.1,
- "currency": "USD",
- "can_activate": false,
- "can_redeem": true,
- "program_can_register": false,
- "security_code": "123456",
- "expiration_date": "/Date(1538369999999)/",
- "account_expiration_date": "/Date(1477890000000)/",
- "is_virtual": true,
- "is_reloadable": false,
- "actual_balance": 25,
- "status": "Active",
- "is_registered": false,
- "activating_merchant_group_name": "EML Payments MG",
- "activating_merchant_group_uniquetag": "EMLPay987",
- "activation_country": "United States",
- "activation_date": "/Date(1377624625133-0500)/",
- "program_name": "EML",
- "program_uniquetag": "EMLFi123",
- "amf_start_date": "/Date(1419746400000-0600)/",
- "amf_next_date": "/Date(1419746400000-0600)/",
- "distributor_refund": false,
- "card_type": "Regular",
- "activation_transaction_id": 123456789,
- "is_organization_registration": false,
- "currency_info": {
- "decimal_digits": 2,
- "group_sizes": [
- 3
], - "symbol": "$"
}, - "adjusted_balance": 25,
- "pin_enabled": true,
- "has_pin": false
}Initiates the process that will ship a plastic card to a cardholder. Only activated and registered cards may have plastic requested for them.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
The information required to request a plastic card.
| card_design_id | string Identifies the card design that was setup in Program Management. If not passed it will select the default card design. |
| third_line_emboss | string <= 22 characters This gets printed on the third line of raised writing on the card. |
| fourth_line_emboss | string <= 22 characters This gets printed on the fourth line of raised writing on the card. |
| shipping_carrier | string <= 2 characters Identifies the partner that will ship the card. An implementation specialist will provide this value. |
| shipping_type | string <= 2 characters Identifies the partner that will ship the card. An implementation specialist will provide this value. |
| activation_lock | boolean Indicates whether an activation lock should be placed on the card. Once locked, a card can later be unlocked using Activation Unlock. |
| merchant_group_tag | string = 10 characters The unique identifier of the merchant group to associate with the plastic request. The client must be associated with the merchant group if it is provided. |
| client_tracking_id | string <= 50 characters A client-assigned value that uniquely identifies a card within the scope of a program. Only allowed if a card does not already have a client tracking id assigned. |
object Additional fields can be added to this object to be passed through to the card manufacturer. Please consult with an implementation manager to define these fields. |
{- "card_design_id": "a5d708d8-8437-4c09-9dae-2a1fa9a45750",
- "third_line_emboss": "string",
- "fourth_line_emboss": "string",
- "shipping_carrier": "US",
- "shipping_type": "ST",
- "activation_lock": true,
- "merchant_group_tag": "MercGrp123",
- "client_tracking_id": "Client-Assigned-Id-1",
- "additional_data": {
- "cpi_logo_code": "CL,",
- "business_name": "Sample Business Name,",
- "secondary_logo": "Test secondary logo,",
- "primary_contact_method": "mail,",
- "client_account_code": "1234,",
- "batch_integration_number": 10
}
}{- "id": "ZZ9DH4STVMX6XWMR",
- "card_design_id": "a5d708d8-8437-4c09-9dae-2a1fa9a45750",
- "third_line_emboss": "string",
- "fourth_line_emboss": "string",
- "shipping_carrier": "US",
- "shipping_type": "ST",
- "merchant_group_tag": "MercGrp123",
- "additional_data": {
- "card_design_id": "a5d708d8-8437-4c09-9dae-2a1fa9a45750,",
- "cpi_logo_code": "CL,",
- "business_name": "Sample Business Name,",
- "secondary_logo": "Test secondary logo,",
- "primary_contact_method": "mail,",
- "client_account_code": "1234,",
- "batch_integration_number": 10
}, - "recipient": {
- "first_name": "Jane",
- "middle_name": "string",
- "last_name": "Doe",
- "email": "jane.doe@example.com",
- "phone": 14155552671,
- "address1": "8330 Ward Pkwy",
- "address2": "4th floor",
- "city": "Kansas City",
- "state": "MO",
- "province": "ON",
- "country": "USA",
- "postal_code": "64114-2027"
}
}Transfers funds between owned disbursement accounts.
Client needs write permission on the source and destination disbursement accounts to perform this action.
The disbursement accounts need to exist under the same bank account. Overdraft limits are not taken into account.
There must be sufficient real funds in the source account to successfully complete the transfer.
The details needed to transfer funds between disbursement accounts
| source_account_id | integer >= 1 The ID of the disbursement account from which the funds will be withdrawn. |
| destination_account_id | integer >= 1 The ID of the disbursement account to which the funds will be credited. |
| amount | number <decimal> >= 0 The amount to transfer from the source account to the destination account. |
{- "source_account_id": 12345,
- "destination_account_id": 98766,
- "amount": 1250.32
}{- "code": 400,
- "message": "Request missing description or invalid value provided"
}This API is used to associate a merchant group to an existing linked account
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to associate a merchant group to an existing linked account
| merchant_group required | string This unique identifier is provided by EML |
{- "merchant_group": "EMLFi987"
}Canada
• Apple Pay
• Google Pay
• Samsung Pay
Europe (United Kingdom)
• Apple Pay
• Google Pay
• Samsung Pay
United States
• Apple Pay
• Google Pay
• Samsung Pay – not currently supported (pending certification)
This API is used to perform in-app provisioning in mobile applications for Apple Pay.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to perform in-app provisioning in mobile applications for Apple Pay.
| base64_encoded_leaf_certificate required | string Base64 encoded bytes of a DER encoded X.509 certificate retrieved from the Apple device. The apple device will have two certificates. The first one is the leaf and should be assigned to this parameter. |
| base64_encoded_sub_ca_certificate required | string Base64 encoded bytes of a DER encoded X.509 certificate retrieved from the Apple device. The apple device will have two certificates. The second one is the sub-CA and should be assigned to this parameter. |
| nonce required | string A one time use nonce generated by Apple Servers; retrieved from the Apple device. |
| nonce_signature required | string The device and account specific signature of the nonce; retrieved from the Apple device. |
{- "base64_encoded_leaf_certificate": "MIID/TCCA6OgAwIBAgIIGM2CpiS9WyYwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMMK0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xODA2MDEyMjE0MTVaFw0yMDA2MzAyMjE0MTVaMGwxMjAwBgNVBAMMKWVjYy1jcnlwdG8tc2VydmljZXMtZW5jaXBoZXJtZW50X1VDNi1QUk9EMRQwEgYDVQQLDAtpT1MgU3lzdGVtczETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASzCVyQGX3syyW2aI6nyfNQe+vjjzjU4rLO0ZiWiVZZSmEzYfACFI8tuDFiDLv9XWrHEeX0/yNtGVjwAzpanWb/o4ICGDCCAhQwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBSEtoTMOoZichZZlOgao71I3zrfCzBHBggrBgEFBQcBAQQ7MDkwNwYIKwYBBQUHMAGGK2h0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDMtYXBwbGV3d2RyY2EyMDUwggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxld3dkcmNhMi5jcmwwHQYDVR0OBBYEFI5aYtQKaJCRpvI1Dgh+Ra4x2iCrMA4GA1UdDwEB/wQEAwIDKDASBgkqhkiG92NkBicBAf8EAgUAMAoGCCqGSM49BAMCA0gAMEUCIAY/9gwN/KAAw3EtW3NyeX1UVM3fO+wVt0cbeHL8eM/mAiEAppLm5O/2Ox8uHkxI4U/kU5vDhJA21DRbzm2rsYN+EcQ=",
- "base64_encoded_sub_ca_certificate": "MIIC9zCCAnygAwIBAgIIb+/Y9emjp+4wCgYIKoZIzj0EAwIwZzEbMBkGA1UEAwwSQXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMTQwNTA2MjM0MzI0WhcNMjkwNTA2MjM0MzI0WjCBgDE0MDIGA1UEAwwrQXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ0EgLSBHMjEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3fC3BkvP3XMEE8RDiQOTgPte9nStQmFSWAImUxnIYyIHCVJhysTZV+9tJmiLdJGMxPmAaCj8CWjwENrp0C7JGqOB9zCB9DBGBggrBgEFBQcBAQQ6MDgwNgYIKwYBBQUHMAGGKmh0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDQtYXBwbGVyb290Y2FnMzAdBgNVHQ4EFgQUhLaEzDqGYnIWWZToGqO9SN863wswDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS7sN6hWDOImqSKmd6+veuv2sskqzA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLmFwcGxlLmNvbS9hcHBsZXJvb3RjYWczLmNybDAOBgNVHQ8BAf8EBAMCAQYwEAYKKoZIhvdjZAYCDwQCBQAwCgYIKoZIzj0EAwIDaQAwZgIxANmxxzHGI/ZPTdDZR8V9GGkRh3En02it4Jtlmr5s3z9GppAJvm6hOyywUYlBPIfSvwIxAPxkUolLPF2/axzCiZgvcq61m6oaCyNUd1ToFUOixRLal1BzfF7QbrJcYlDXUfE6Wg==",
- "nonce": "9c023092",
- "nonce_signature": "4082f883ae62d0700c283e225ee9d286713ef74456ba1f07376cf17d71bf0be013f926d486619394060ced56030f41f84df916eaab5504e456a8530dc9c821f6ed3e3af62b5d8f3e4a22ca2018670fee4e"
}{- "activation_data": "eyJ2ZXJzaW9uIjoiMyIsInNpZ25hdHVyZUFsZ29yaXRobSI6IlJTQS1TSEEyNTYiLCJkYXRhVmFsaWRVbnRpbFRpbWVzdGFtcCI6IjIwMTktMDMtMTJUMDE1NzQxWiIsImluY2x1ZGVkRmllbGRzSW5PcmRlciI6ImRhdGFWYWxpZFVudGlsVGltZXN0YW1wfGFjY291bnROdW1iZXJ8YWNjb3VudEV4cGlyeSIsInNpZ25hdHVyZSI6IlV6M1JzNjdHWVlRRStCM29Cb0VYeVU1ZHdoVHVIWThZbVZxc2xCRExDZFJHU3FBa3FaaDlYUmEvRGJ2L1M5RjZYaTdZZU5KajFMY0pTTzNNY3p2RllGSFlPbS9xSDdRcmhiVlduSFdlK1RpOFg5bWJXM2kvNnU3UGllVzRqRmhhak1UYVBuNlNhSks0UnZsVit0Z20veTZKdFoydVVuUm1paFE1QkgzOGxrYjU1eUtVY1pEckIwSHZBdFhaejI4alpVSWhOdWo4NDRKOVlmalE5NFdmU1RRNzc1YXlSdmczd1BZUUdhemd1ZzkxZW5uYnN3VTJUditNZ0gzZFlBZ0xwTUc4WG8zV0pubFF6MktydUpvSFFJYndTa2I0ZlU4L2h3NHU0MFdEVnFBbmF6bElta2FHQ3Y3VDFvZzlvY3FIcUxRUitxREtoNWxseVJsWnREOC9Gdz09In0=",
- "encrypted_pass_data": "6S7BE6N/tM88Gi94b+YdS1z8ofiytkjVnhQQxz+PjSo9/Iqq2UjNQ+Or0fO/0Wos01i/ZlGUI/MhHkgJ96jtv1OTUGS9J0O3gaIRdkct9ZNGbIjl04GBvf9lTLRhUUtuuiIF6XHmJKTnI7TS8lNsAXcGu/xdqmOm7+0VjTtWSa0qb/6vAg4vuGhbLMG7Mh9HLYXMGdD5MDwDOf3B2h8mFhklQYFporlcr6ShjnyaXZoQoBxtKGlRU+rUsb/rAIyRmXXCfZdjEPKf8IW7gToPKvY4RDt+Qp71C7rjq2UNuLTrt2OQ9ie0UIRObJwfFUuP5jZZhVXULQjEtoQ5OOOETc0ZqFQaYZEJhqJ0P/eEfa9iunGd+q+Ew2HBQX14eIHfwFK0/dtT9ig0voW2qaF5DUT/SYND4C4x",
- "ephemeral_public_key": "BOA6LSXoD1kgTKk3jptU0K/MqrJxVrWB0iX/iqF2kyXyJFUvafguizP8H+fm/yyzNkWsoRi/frCNShCrDpwbR08=",
- "card_id": "A655616801003923",
- "pan_last_four": "2077",
- "cardholder_name": "WINDSOR CROSSING /GC",
- "program_name": "Windsor Crossing Premium Outlets",
- "payment_network": "MasterCard"
}This API is used to perform in-app provisioning in mobile applications.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "card_id": "I265160701003923",
- "tokens": [
- {
- "external_token_reference": "TUR01234567899876543210",
- "wallet_provider": "ApplePay",
- "is_provisioned": true,
- "status": "Active"
}
]
}This API is used to perform in-app provisioning in mobile applications for Google Pay.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "issuer_payload": "eyJmdW5kaW5nQWNjb3VudEluZm8iOnsiZW5jcnlwdGVkUGF5bG9hZCI6IjdCMjI3MDc1NjI2QzY5NjM0QjY1Nzk0NjY5NkU2NzY1NzI3MDcyNjk2RTc0MjIzQTIyMzQzNjY0Mzk2MjY1MzM2NDM3MzkzMjMyMzIzNjY0MzIzMzMxNjY2NDM4MzA2NTM2NjUzNjM2MzYzMDM0MzI2MTYzNjE2MjM0NjU2MzM3NjIyMjJDMjI2NTZFNjM3Mjc5NzA3NDY1NjQ0QjY1NzkyMjNBMjIzNDQ2Mzk0MTM1MzI0MzQxMzI0NjM3MzUzMTM1NDIzMDM3Mzg0NTQyNDEzMzMwMzY0MzM4NDY0NjMzNDQzMTQ2MzIzMDQzMzEzNDM0MzYzMjMzNDQzMzMwNDEzNDQyMzUzNjM4MzE0MzMxMzkzMzQ1NDM0MjQ2NDQzMTM2MzgzOTM4MzEzNTQ2MzMzMzMyMzk0MjM3NDIzMDQ0NDIzOTM1MzYzNDMwNDYzODMxNDQ0NDQ0MzEzNDM3NDM0MjQyNDIzOTQ2MzMzODQyMzQ0NjQ0NDEzOTQ1NDE0MjMzMzMzMDMxMzEzNDQxNDQ0MzQzMzYzNzM2MzIzODQyMzQ0MzMxMzkzNTM1NDIzOTMzMzQ0MjQ2MzM0NDQyNDMzNDM1MzU0NTM4NDQ0NTM4MzEzNDQ1MzQzNzQ1NDQ0MjQ0MzQzNzQyNDQzMzM3MzI0MjM0MzI0MTQyMzAzNTQzNDEzMjMxNDIzNjM5NDM0NjM3MzQzNTMyNDMzMzM1MzY0MTM2MzkzNDM1MzEzMDQ0MzE0NDMyMzkzMzM1MzczMTM4MzQzMDQxNDIzNjMwMzQzMjM3MzU0NDMyNDEzNzQ1MzEzMjQ2NDE0NTMxMzEzOTM1NDY0MzM4NDYzNjMzMzQzNjQ2MzQ0NDQyNDE0NDMzMzY0NTM0NDMzNjQ0MzY0NTQyNDI0MTQzNDY0NDQ1MzIzMDMwNDE0MzQyMzIzODQ1MzYzMDMxMzQzMTMzMzIzMzM5MzQzMDQ2Mzk0MjQzMzkzMzQ1NDEzOTM2NDE0NTMyNDMzMzQxNDY0NTMzNDE0NDMyMzMzODM2MzkzMjQ2NDY0NjQ1MzEzODMzNDMzNzQ2NDEzNzQ2NDYzODQ2NDY0MjQxMzIzMTM0MzIzNzQxMzA0MjMxNDY0MjM4MzY0MjQ2NDI0MzQzNDY0NjMwMzAzNTM5MzI0NjQxMzA0NTMzMzQ0MjM5NDI0NTM0MzUzODM3Mzc0MzMzMzM0NDMxMzIzMjM5MzkzOTMzMzUzNzQ1MzEzMzQ2NDYzMDQyMzE0NDQxNDQzMDM0MzI0MTM4MzM0MTM3MzQ0NDQzMzQzMDQxMzI0NDM0MzI0NjMyMzIzNDMwMzEzNzM3MzM0NjMxNDU0NDMwNDM0NTQxNDE0MjMzNDUzNzM1NDYzNDMzMzc0NDQ0MzAzMzMwNDI0NTQyMzMzMzM3MzI0NTM3MzczMzQ1MzkzNDMzNDQ0NjMyNDE0NTQ2MzczODMxNDY0NjMzMzM0MTMyMzQzNDM2NDMzOTM1MzEzNzM1NDE0NTQyMzczMzQ2MzQ0NTM4MzkzMzM1MzIzNjQ0Mzg0NDMyMzM0NjQyMzY0NTMzNDUzMTMwNDMzNTQxMzkzMzQ1MjIyQzIyNkY2MTY1NzA0ODYxNzM2ODY5NkU2NzQxNkM2NzZGNzI2OTc0Njg2RDIyM0EyMjUzNDg0MTMyMzUzNjIyMkMyMjY5NzYyMjNBMjIzNzQxMzg0NDM0NDE0MjM4NDQzNzMzNDQzMTMzMzI0MTQ0MzY0MjMzNDUzOTMyMzkzODMxMzYzNjMzNDMzODMwMjIyQzIyNjU2RTYzNzI3OTcwNzQ2NTY0NDQ2MTc0NjEyMjNBMjI0MzMxMzI0NjM4MzYzMzM0MzMzMTQyMzA0NTMzNDMzMjMxNDEzMTM3NDMzMzMxNDUzNTQxNDMzMTQzNDM0NTQzMzUzODMwMzEzODMwMzUzMTQxMzE0NDM4MzczMDQ2MzQzMjM3NDIzNTQyMzQzMDQ0MzMzMzM3MzY0NDQyNDEzMDQ2MzEzODM4NDEzODQxMzg0MjMyNDYzNDMyNDQzNzM2NDEzODMwMzczODMxMzYzMjMzMzU0NjQzMzkzODMzMzk0MzQyMzAzMzMzMzA0NTMxNDQ0NDMyMzkzMTQyNDM0MzM5NDUzNDM3MzI0NjMyMzkzNzQyNDI0NjMzMzIzMTQyMzYzNzQ1MzAzOTM5MzM0NDM2MzEzODQxMzMzMjQ1NDQzNjM4MzMzNjM0MzE0MTM4MzIzMjQ0NDY0MzM5NDI0MzMyMzY0NjMwMzAzNzM5MzEzMjQ1MzEzNzQyNDEzNzM0NDM0MzMwMzIzODM3MzM0NTQxMzQ0MjMwMzgzODQ2MzMzMzMzNDQ0NTMxMzczNDMyMzU0NDMxMzI0MzMwMzUzMDM3NDY0MTM0MzMzNDQyNDEzODQxMzI0MjM5MzQzMDM3MzI0MzQxMzAzMDM5NDIzNzM4MzEzNzM1MzAzNTM1MzQ0NjM3NDUzMDQxMzY0MjM1NDYzMjM4MzEzMTQyMzEzOTQ0NDM0MTMxMzkzNTM1MzYzNDMyMzIzOTQzMzM0MjM3NDY0MTM5MzkzNjM5MzMzNzM0MzQ0NjM2NDMzNDQyMzYzMjMzNDIzOTM4MzczNDMyNDQ0NDMxMzkzNzM4NDE0NTM1MzE0NjQ2NDQzMTM2MzIzOTMyMzEzMzMxNDI0MTQ2MzUzNDMzMzQ0MjQ2MzczMjMyMzIzNzM5Mzk0NDMwNDYzOTQxMzQzODMwNDUzNDQxMzE0MzQ0MzkzNTQ0MzMzNjM5NDQzOTQ0MzQ0MjM5MzYzMTMyMzMzMTM0MzEzMDM0MzMzNTM4MzczMzQzNDE0MjMxNDMzNTM5MzAzNjQyMzQzMDM4MzIzOTQ1MzczOTMzMzY0MTM1NDMzNjM0NDMzNzQxNDUzMjMwMzIzMTQxNDUzNDQ2NDIzMTM2NDIzNDM0NDYzNzM1MzIzOTM0MzgzNTQ1MzEzMjM2NDEzNzM0MzU0NTQxMzQ0NTM1MzQ0MzM0NDQ0MTQ2MzE0MTM4MzQzODM4MzQ0MzQzNDU0NjM5NDQ0NDM2MzYzNjQ1MzkzOTQxNDEzNTM0NDUzMDQ1NDE0MjM5MzI0MzM3MzgzODMzMzcyMjdEIn0sInRva2VuaXphdGlvbkF1dGhlbnRpY2F0aW9uVmFsdWUiOiJleUoyWlhKemFXOXVJam9pTXlJc0luTnBaMjVoZEhWeVpVRnNaMjl5YVhSb2JTSTZJbEpUUVMxVFNFRXlOVFlpTENKa1lYUmhWbUZzYVdSVmJuUnBiRlJwYldWemRHRnRjQ0k2SWpJd01Ua3RNRE10TVRKVU1ESTBORFE1V2lJc0ltbHVZMngxWkdWa1JtbGxiR1J6U1c1UGNtUmxjaUk2SW1SaGRHRldZV3hwWkZWdWRHbHNWR2x0WlhOMFlXMXdmR0ZqWTI5MWJuUk9kVzFpWlhKOFlXTmpiM1Z1ZEVWNGNHbHllU0lzSW5OcFoyNWhkSFZ5WlNJNklraHFUVEYyTkZsS1VtMDJTVnBHWjFkTU9XSXlNa1p6ZUhwT1lYWllLemRtVjBGWGNVaGhiMVZwV2xFNWFtVnRUVEp0ZG1GR1FqZzJTRVJFVWt0d1NEYzFNV1IyUmpCRk1VcGlZMlpoV1RGbFNESkhiM0JRZWtkMGREQmpXRFpRYUVoUE16WTFTM2w1VjFkcFFYTjVkalUyZGs5NmFreGxWelprWkdoSVdHNUJNbk5qVEdORVZUWkZhMmgyYjBwQ2JDdHZlRkJ3T0ZadWFEWk1SbmcxY0U5VmNFMTJaMHh2TlhoS1pFRjRSVUlyY1dveFYxZE5VVzVWWmxaNlF6UnpXWFEzUzNObEsxSm1aMWMzYnpkUUx6VlhTRXRuZVZCV1IwTkRkbEZNZFU5a1QxcE1RU3RxZG5walIyVjROVzVNUkRsMVFrSXlhVTV0T1ROV09YVlNOMEU1VDBGU0wwMTJUbTE2V1hCcFluQjVNWHBvY1UxVGVpODNiSE5USzNSSVRWWk5VRlJYV1ZJMVRXNW1VVEIzZEcxWlFrNHJTaTl5Y2k5M1QyZDZaMnByZGpkV1ZEUnZNbVE0UkRodWVXcElWVmxGV0VkT1p6MDlJbjA9In0=",
- "card_id": "A655616801003923",
- "pan_last_four": "2077",
- "cardholder_name": "WINDSOR CROSSING /GC",
- "program_name": "Windsor Crossing Premium Outlets",
- "payment_network": "MasterCard"
}This API is used to perform in-app provisioning in mobile applications for Samsung Pay.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "issuer_payload": "eyJmdW5kaW5nQWNjb3VudEluZm8iOnsiZW5jcnlwdGVkUGF5bG9hZCI6IjdCMjI3MDc1NjI2QzY5NjM0QjY1Nzk0NjY5NkU2NzY1NzI3MDcyNjk2RTc0MjIzQTIyMzQzNjY0Mzk2MjY1MzM2NDM3MzkzMjMyMzIzNjY0MzIzMzMxNjY2NDM4MzA2NTM2NjUzNjM2MzYzMDM0MzI2MTYzNjE2MjM0NjU2MzM3NjIyMjJDMjI2NTZFNjM3Mjc5NzA3NDY1NjQ0QjY1NzkyMjNBMjI0MjMzNDE0MjQzNDYzNTM4NDMzNjQ1NDI0MjM1NDI0MTQxNDMzNjQ2NDEzNTQzNDE0NTMzMzE0NjMwMzIzOTMxMzQzMDM5NDYzMTQzMzk0NjQ2MzczNDQ0NDIzMTQ1NDY0NDM2MzEzMTQyMzA0MzQ1MzgzNTQxMzc0NDM2MzkzNDM2MzIzMjQ2MzkzNDQxMzQzMzQyMzI0MzM2NDE0NDQzMzM0NTM2NDEzODQxNDMzMTQ0Mzc0MjM5MzE0NjQzMzIzNTQyMzIzNDM1MzY0NDM1MzgzNTQ0NDYzMDM0Mzc0NjM4MzkzMTQxNDUzMDM0NDEzODM4NDYzODM3MzczNjM0MzU0NTM1MzIzNDQ2MzgzNjQ1MzgzODMzMzYzNjQ0NDE0MTM0MzEzNDMwMzEzMjM3Mzc0MjQxMzU0NDM5NDUzOTM2NDU0NDQxMzkzODM2MzQzNTQzNDE0MzMzMzIzMzQ1NDE0MTM1MzIzNTQ0MzgzNzQzNDMzNjM0NDQzNTMyMzAzMTM5NDUzMDM0MzkzODQzMzk0MjQ2NDMzNDQxMzYzMDQ2Mzk0NjMwMzY0NjMyMzEzNzM2MzY0NjQ1MzQ0NjM3MzE0MjQzMzMzNzMzNDE0NjMzMzY0NTM5MzUzOTQxMzMzMjM3MzYzNzQ2MzEzMjM4Mzc0NTM4Mzk0NDM4MzEzNDQxMzAzOTM4MzgzMDMwMzczMTQ0NDQ0NTM2MzMzODQ2MzE0MTMwMzIzMzM0NDYzNDMyNDUzMjMyMzEzMTM2NDYzNjQ2NDM0MjM1NDUzNTM4MzA0NjM2MzQzMjQ0MzIzNTMyMzA0NjM2NDIzMDM0MzMzMzQzMzQzODMyMzQzNTMyNDUzNzM2MzYzMzMzMzA0MjQxNDQ0MjQ1MzQzNTQ1MzkzNDQyMzQzMjMwMzQ0NjM4MzYzMzMwMzczMTMxMzUzMDM1NDIzNzQxNDYzMTMyNDMzNjQ2Mzk0MzQ1NDUzNzM0NDM0MzMwMzEzMDMzMzEzOTM3NDE0MTM0NDYzMjM1Mzc0NTMzMzk0MjM0NDU0MzMzMzQzMDQzNDM0NTQzMzg0MjQxMzIzMjM2NDQzMzM4NDM0NTMwMzQzNzMwMzE0NTMwMzkzNDM5Mzk0MjM1NDM0MTQxMzMzMTQ2NDI0MTM4NDM0MjM2MzYzMTM0NDMzMTMwNDMzMjMyMzMzMTM0MzAzMDM2MzczNjM0MzkzMTMyMzczODM3MzgzNDMzMzMzMDMxNDUzNzMxMzkzNTMzNDI0MzQ2MzU0NjM1NDQzNjMxMzUzNDM4MzIzOTQ0MzMzNjM4NDMzNzQ0MzMzMzQ0MzkzMTQzMzg0MjMxMzE0NjM0NDU0NTM5MzU0MzM2NDEzMzQ0MjIyQzIyNkY2MTY1NzA0ODYxNzM2ODY5NkU2NzQxNkM2NzZGNzI2OTc0Njg2RDIyM0EyMjUzNDg0MTMyMzUzNjIyMkMyMjY5NzYyMjNBMjIzNDQ2MzEzMjQxMzg0NDM2MzYzNDM3MzUzMzQ1MzkzNzMyMzE0MzQ0MzQ0MzQyNDQzMTQ0Mzg0NTQ1MzI0NDMwMjIyQzIyNjU2RTYzNzI3OTcwNzQ2NTY0NDQ2MTc0NjEyMjNBMjI0NDQzMzM0NjM4NDEzOTM0MzQzNjQyNDE0MzQzNDYzMDM4NDQzMjQ2MzI0NjQxMzEzNzMyMzEzNzM1NDQzMjM0NDY0MTQzNDEzNDM5MzMzODMxMzk0MTMwMzYzNTM0MzkzMDMxMzgzNzQ1NDMzNDM3MzI0NDQ0NDM0NjM3MzE0MTM5MzAzNTM3NDI0MzM2Mzc0MjMzNDMzNjQ1MzEzNTM4NDM0NTM1MzIzODMwMzk0MjQ2NDMzMzM4NDIzODQzNDI0NDQxNDYzMDM1MzA0NTQzMzgzODQ1MzMzNzM5NDU0MTMyMzM0NjQyNDIzNDM1MzY0NTM4NDUzODMxNDQzOTMzNDQzMzQ2NDI0MzM5NDIzODM5MzgzMTMyNDQ0NjQ0MzQzOTM0NDYzNDQ1NDMzNjQzMzEzOTMwNDUzMTM4NDMzNTM1NDEzNzM0NDIzNDMyMzc0NDM1Mzk0NjM2MzgzODQ2NDYzNDMxNDQzMDM4MzQzNTMzMzk0NTM3NDMzNzM5MzgzMDQ1NDM0MTM0NDM0MzQyNDIzMTMzMzU0NDM5NDQzOTQxMzQzODQ2MzYzNjMzMzMzMTQyMzI0NDM4Mzg0NTMwNDEzNTQyMzEzMTQ1MzI0MTQ2NDMzNDMyNDU0MjM4MzE0MzM3MzA0NjQxNDI0MzM4NDEzMjMxMzA0NjMwMzYzNTQyNDY0NDMzMzY0MTMyMzEzMDMzNDQzODM2NDIzNTQ0NDEzNDMwMzIzNzM1NDY0MzM1MzI0NjM1MzczMTQyMzMzMzQ2NDU0MzMzMzUzMzQ2MzUzODQ0MzQ0MzQyMzk0NDQ0MzQzMDM2MzM0NjQ1NDI0MzQyMzMzOTQzMzc0NjQ2MzAzOTMwMzkzOTQ0MzgzMzQ0NDQzMTM0NDUzNDQxNDUzMjQ1MzkzODM2MzEzODM3NDYzNTMxMzkzNzMzMzU0MjQ0NDUzMDQyMzI0NjMzMzUzMDMxNDU0NjMzMzQzNTQ0MzYzNjM5MzE0NDQ0MzE0MzM3MzM0NTQ2MzIzMjQ2NDIzNzMzMzMzODQxMzEzNDM5NDU0NDM2Mzc0NjQ0MzQzOTQyMzQzMjM5MzIzODQ1NDU0MTQ2MzQ0NTQ2NDMzMTQyNDUzOTQxNDMzMTM4Mzc0NDM3Mzg0MzM2NDE0NjMyNDEzMDQ2MzIzOTQzMzczMjMzNDQzOTMzMzMzNjQ0NDQzMjQ0Mzk0MTQzMzM0MzQ2MzM0MzM4NDI0NjMwMzI0MTM0MzIzNTQyMzEzMTQ0NDIzMjM3NDUzOTQzNDEzMzQ0NDYyMjdEIn0sInRva2VuaXphdGlvbkF1dGhlbnRpY2F0aW9uVmFsdWUiOiJleUoyWlhKemFXOXVJam9pTXlJc0luTnBaMjVoZEhWeVpVRnNaMjl5YVhSb2JTSTZJbEpUUVMxVFNFRXlOVFlpTENKa1lYUmhWbUZzYVdSVmJuUnBiRlJwYldWemRHRnRjQ0k2SWpJd01Ua3RNRE10TVRKVU1ESTBPVFUwV2lJc0ltbHVZMngxWkdWa1JtbGxiR1J6U1c1UGNtUmxjaUk2SW1SaGRHRldZV3hwWkZWdWRHbHNWR2x0WlhOMFlXMXdmR0ZqWTI5MWJuUk9kVzFpWlhKOFlXTmpiM1Z1ZEVWNGNHbHllU0lzSW5OcFoyNWhkSFZ5WlNJNklsUldOWEp6YVRCRVNFcERkelJ5ZFVGemJXdGFia0Z2VTJSaFQzbFhkbk5aTDI1NllqVTFlbnA1YWsxc2VVOHpPRWxoU2sxcE9XeE1SRlIyT1N0S05FOTFhRzFDSzJ0WVRHcGtaMmhsZVhaRVMwUTVOWHBWT0VkWFlWUjVjblp5UzNKbmJFbzJSRzh6U0ZCQ2JrUk1jR05NU0M5d01UWmFTazgzUldaYVkzRm1ZM2xFTnpOTE0wRjVZak5OUmpGa1UxTlljVEJHZWpGaE9Ib3JRaXRyVjBwT2VIRmpkemhoYmxSMmQzSlRjV3A1WkdKdVMyRkhhek13TVdFMlIwUjJNaXR5V0c4d05rSnZjemh0TTFoWVZHWnRRVVI0V1U1TE5ISnJjMnBOYUdaemJHOWtNM1ZSYzNvelVrWk1jRmxxSzJ4SGEwOHJXV3AxZFZZNWVtTlVjM0pJT0hFeVV6bHpUVVJ0ZVVaUlpuSndWbm8yZUhReWQwRlhUalZGVmxkbFZuVmFObEJvZWpKb2RGbG5UbEJxYVhGSWFFbHZURFJDVjJKNmNuUkpjVFJCZG1GT1JVMUJPRWczWTFSNE4ydElObUpUYlRKQlp6MDlJbjA9In0=",
- "card_id": "A655616801003923",
- "pan_last_four": "2077",
- "cardholder_name": "WINDSOR CROSSING /GC",
- "program_name": "Windsor Crossing Premium Outlets",
- "payment_network": "MasterCard"
}This API is used to perform web provisioning in web applications for supported wallets. The response includes a list of supported wallet names.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "supported_wallets": [
- "Apple Pay",
- "Google Pay"
]
}This API is used by the Apple Pay web provisioning process. When the user clicks the Add to Apple Wallet button on the Issuer webpage, the JavaScript library calls the then() method of the Promise object. The call must resolve to a Token object. This API generates and returns the token object. The object is fully composed and base64 encoded. Consumers will need to decode the value and use it with Apple's JS library.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| client_language | string Example: client_language=en-US A language tag as described by IETF RFC 5646, for example, en-US. |
{- "jws_payload_base64": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}This API is used by the Apple Pay web provisioning process. As a part of the Web Provisioning confirmation experience, the Issuer receives a result object in the resultResolver. The state property of the result object should be sent to this API to mark the provisioning process as completed.
| state required | string The state property obtained during the Web Provisioning confirmation. |
This API is used to perform web provisioning in web applications for Google Pay, returning the paymentCredentials object required to provision a card into Google Pay.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to perform web provisioning in web applications for Google Pay.
| server_session_id required | string The session identifier provided by Google. |
| client_device_id required | string The identifier for the client device initiating the request, provided by Google. |
| client_wallet_account_id required | string The wallet account ID of the client, provided by Google. |
| include_token_credentials required | boolean A flag indicating whether to include tokenization credentials (to tokenize the card into the user's Google wallet) in the response. |
| include_card_credentials required | boolean A flag indicating whether to include card credentials (to add the PAN and details to the user's Google account) in the response. |
{- "server_session_id": "1a8c8317-2113-49a9-beb9-aaccecf245b4",
- "client_device_id": "6zQQYPbV34jfUSGFIO74bOmf",
- "client_wallet_account_id": "4Jdc0nd7iK1vDE45hzFD4GIV"
}{- "payment_credentials_payload_base64": "eyJwYXltZW50Q3JlZGVudGlhbHMiOiB7IC4uLiB9"
}The Activate Token API can be used to manually complete tokenization of a card.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to activate a token.
| reason required | string Enum: "Authenticated" "CustomerServiceAuthenticated" The reason for activating a token. Please refer the following table for the reason decsriptions
| ||||||
| comment | string An optional comment describing the activation. |
{- "reason": "Authenticated",
- "comment": "test comment"
}{- "code": 400,
- "message": "The provided reason was not a valid value."
}The Delete Token API can be used to remove an existing token.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to delete a token.
| reason required | string Enum: "DeviceLost" "DeviceStolen" "Fraud" "AccountClosed" "Other" The reason for deleting a token. Please refer the following table for the reason decsriptions.
| ||||||||||||
| comment | string An optional comment describing the activation. |
{- "reason": "DeviceLost",
- "comment": "test comment"
}{- "code": 400,
- "message": "The provided reason was not a valid value."
}The Get Token Activation Methods API retrieves the methods that can be used to verify a cardholder during tokenization. Usually these are a means to communicate with a customer for confirmation that they are the cardholder.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "activation_methods": [
- {
- "type": "Email",
- "value": "AXXXXXXD@mc.com"
}, - {
- "type": "Sms",
- "value": "+1XXXXXX4567"
}
]
}The Get Token Transactions API retrieves the last 30 days of transactions for a token.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "tokens": [
- {
- "timestamp": "2020-06-18T20:47:59Z",
- "amount": "123.45",
- "currency": "USD",
- "type": "Purchase",
- "status": "Authorized",
- "merchant_name": "FOODMART",
- "merchant_category_code": "1234",
- "merchant_category_description": "GROCERY STORES, SUPERMARKETS",
- "pos_entry_mode": "DynamicMagneticStripeData"
}, - {
- "timestamp": "2020-06-17T20:47:59Z",
- "amount": "29.47",
- "currency": "USD",
- "type": "PurchaseWithCashback",
- "status": "Completed",
- "merchant_name": "RXMART",
- "merchant_category_code": "5678",
- "merchant_category_description": "DRUG STORES, PHARMACIES",
- "pos_entry_mode": "ContactlessMagneticStripe"
}
]
}The Get Tokens API retrieves tokens that have been created for a card. A token is a unique identifier corresponding to a digital PAN (DPAN) that has been provisioned as an alternate to the PAN of the card, typically onto the cardholder's mobile device. This endpoint retrieves all of the associated tokens that have been created for a given card/PAN.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
{- "tokens": [
- {
- "token_id": "DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c",
- "suffix": "4563",
- "wallet": "ApplePay",
- "status": "Active",
- "expires_on": "0421",
- "tokenization": [
- {
- "correlation_id": "50042",
- "status": "Successful",
- "requested_on": "2015-01-21T00:04:35.0000000Z",
- "decision": "Approved"
}
], - "activation": [
- {
- "activated_on": "2015-01-21T00:04:45.0000000Z"
}
], - "device": [
- {
- "type": "Phone"
}
]
}, - {
- "token_id": "DWSPMC00000000010906a349d9ca4eb1a4d53esddddws",
- "suffix": "6489",
- "wallet": "ApplePay",
- "status": "Deleted",
- "expires_on": "0220",
- "tokenization": [
- {
- "correlation_id": "54321",
- "status": "Successful",
- "requested_on": "2014-10-21T00:04:35.0000000Z",
- "decision": "Approved"
}
], - "activation": [
- {
- "activated_on": "2015-01-21T00:04:45.0000000Z"
}
], - "device": [
- {
- "type": "Tablet"
}
]
}
]
}The Resend Activation Code API can be used to trigger retransmission of a verification code to the cardholder so that tokenization may be completed.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to resend activation code.
| activation_method required | string The method that should be used to resend the activation code. This should be one of the methods returned from the Get Token Activation Methods API. |
{- "activation_method": "SMS"
}{- "code": 400,
- "message": "The token either had no activation methods or the requested activation method was not valid."
}The Suspend Token API can be used to suspend an existing token.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to suspend a token.
| reason required | string Enum: "DeviceLost" "DeviceStolen" "Fraud" "Other" The reason for suspending a token. Please refer the following table for the reason decsriptions
| ||||||||||
| comment | string An optional comment describing the activation. |
{- "reason": "DeviceStolen",
- "comment": "test comment"
}{- "code": 400,
- "message": "The provided reason was not a valid value."
}The Unsuspend Token API can be used to release a suspension placed on the token. This action does not release suspensions placed by other entities.
| id required | string Card ID |
| token_id required | string The external token reference. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to unsuspend a token.
| reason required | string Enum: "DeviceFound" "NoFraud" "Other" The reason for unsuspending a token. Please refer the following table for the reason decsriptions
| ||||||||
| comment | string An optional comment describing the activation. |
{- "reason": "NoFraud",
- "comment": "test comment"
}{- "code": 400,
- "message": "The provided reason was not a valid value."
}This API is used to adjust funds on a Card. If the request is valid then a 202-status code will be returned. If the request is invalid a 400-status code will be returned.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to add funds onto an active card
| amount required | number <decimal> Dollar amount of funds to either add to or remove from the card. Amount can be either negative or positive. |
| location required | string Used to look up the softwareclientinstance and associates it to the systemtransaction. |
| merchant_group required | string This unique identifier is provided by EML. |
| note | string A value provided by the client; usually descriptive. |
{- "amount": 5,
- "location": "test",
- "merchant_group": "EMLFi987",
- "note": "Add 5 dollars"
}{- "status": "Passed",
- "reason": "Verified",
- "currency": "USD",
- "available_balance": 100,
- "system_transaction_id": 123456789
}This API is used to initiate a DirectPay transaction against a card. The DirectPay API is nearly identical to the Unload Card API except for the endpoint uri and system transaction type that is reported upon transaction completion.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required for direct pay
| amount required | number <decimal> Dollar amount of funds to remove from the card |
| merchant_group required | string (MerchantGroup) = 10 characters The Merchant Group Unique Tag associated with the card. |
| note required | string A value provided by the client: usually descriptive |
object | |
| client_time | string <unix-epoch> Local time of the request |
{- "amount": 5,
- "merchant_group": "EMLFi987",
- "location": {
- "state": "KS",
- "country": "USA"
}, - "note": "Unload 5 dollars"
}{- "currency": "USD",
- "available_balance": "113.80",
- "system_transaction_id": 123456789
}This API is used to request a card refund and prevents the card from being used for payments. The card balance will be refunded through separate refund processing.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required for refund card
| merchant_group required | string (MerchantGroup) = 10 characters The Merchant Group Unique Tag associated with the card. |
| note required | string A value provided by the client: usually descriptive |
{- "note": "Refund to customer",
- "merchant_group": "EMLFi987"
}{- "code": 400,
- "message": "The required parameter 'refund' is missing or invalid."
}This API is used to add funds onto an active card, provided the amount does not violate the existing regulations.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required to add funds onto an active card
| amount required | number <decimal> Dollar amount of funds to remove from the card |
| merchant_group required | string (MerchantGroup) = 10 characters The Merchant Group Unique Tag associated with the card. |
object | |
| client_time | string <unix-epoch> Local time of the request |
| note | string A value provided by the client: usually descriptive. |
| reconciliation_ID | string <= 32 characters A value provided by the client. Must be 32 characters or less. |
| load_type | string Default: "Standard" Enum: "Standard" "Cash" This field determines the type of load that we will do.
|
{- "amount": "5.00",
- "merchant_group": "EMLEUSi362",
- "location": {
- "name": "Baby Gap 123",
- "address1": "123 Fake ST",
- "address2": "Suite Life",
- "city": "Kansas City",
- "state": "MO",
- "province": "string",
- "postal_code": 12345,
- "country": "string"
}, - "client_time": "string",
- "note": "Reload 5 dollary-doos",
- "reconciliation_ID": "string",
- "load_type": "Cash"
}{- "currency": "USD",
- "available_balance": "123.80",
- "system_transaction_id": 123456789,
- "adjusted_balance": "123.80",
- "Itempotency-Key": "123456789",
- "X-Eml-Duplicate": true
}This API is used to reverse a previously posted card refund, provided the refund has not been processed. A refund reversal restores the card to a state where redemptions may occur for the remaining card balance.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details required for reverse card refund
| merchant_group required | string (MerchantGroup) = 10 characters The Merchant Group Unique Tag associated with the card. |
| note required | string A value provided by the client: usually descriptive |
{- "note": "Reverse the refund request",
- "merchant_group": "EMLFi987"
}{- "code": 400,
- "message": "The required parameter 'merchant_group' is missing or invalid."
}This API is used to unload, or remove, funds from a card.
| id required | string Card ID |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
Details about unload, or remove funds from a card
| amount required | number <decimal> Dollar amount of funds to remove from the card |
| merchant_group required | string (MerchantGroup) = 10 characters The Merchant Group Unique Tag associated with the card. |
| note required | string A value provided by the client: usually descriptive |
| load_type | string Default: "Standard" Enum: "Standard" "Cash" This field determines the type of unload that we will do.
|
| location | any (Location) |
| client_time | string <unix-epoch> Local time of the request |
| reconciliation_ID | string <= 32 characters A value provided by the client. Must be 32 characters or less. |
{- "amount": "5.00",
- "merchant_group": "EMLEUSi362",
- "note": "Unload five buckaroos",
- "load_type": "Cash",
- "location": null,
- "client_time": "string",
- "reconciliation_ID": "string"
}{- "currency": "USD",
- "available_balance": "113.80",
- "system_transaction_id": 123456789,
- "Itempotency-Key": "123456789",
- "X-Eml-Duplicate": true
}A message published when a card is enrolled in 3DS.
| type required | string The webhook message type. Value: "3dsEnrollmentAdded" |
| timestamp required | string <date-time> The date and time in ISO 8601 standard format at which the card was enrolled. |
| correlationId required | string An identifier that may be used to query webhook messages. In this case, it is the same as 'cardholderId'. |
| programTag required | string The unique tag of the program associated with the enrolled card. |
| merchantGroupTag | string The unique tag of the activating merchant group associated with the enrolled card. |
| cardholderId required | string A value that uniquely identifies the registered cardholder for the enrolled card. |
| languages required | Array of strings The enrollment languages. |
| phoneNumbers required | Array of strings The enrollment phone numbers. |
| challengeMethods required | Array of strings The enrollment challenge methods. |
| externalId required | string A value that uniquely identifies the enrolled card. |
| clientTrackingId | string A client provided identifier that uniquely identifies a card within a program. |
| carrierNumber | string The enrolled card's carrier number. |
| bankId required | string The enrolled card's bank identification number. |
{- "type": "3dsEnrollmentAdded",
- "timestamp": "2021-07-09T17:22:00+00:00",
- "correlationId": "3865956",
- "programTag": "prog012",
- "merchantGroupTag": "mg034",
- "cardholderId": "3865956",
- "languages": [
- "en"
], - "phoneNumbers": [
- "555-2424"
], - "challengeMethods": [
- "sms-otc"
], - "externalId": "ZZ9DH4STVMX6XWMR",
- "clientTrackingId": "CTID-Testing-10000",
- "carrierNumber": "1234567890123456",
- "bankId": "123456"
}A message published when a card's 3DS enrollment is updated.
| type required | string The webhook message type. Value: "3dsEnrollmentUpdated" |
| timestamp required | string <date-time> The date and time in ISO 8601 standard format at which the enrollment was updated. |
| correlationId required | string An identifier that may be used to query webhook messages. In this case, it is the same as 'cardholderId'. |
| programTag required | string The unique tag of the program associated with the enrolled card. |
| merchantGroupTag | string The unique tag of the activating merchant group associated with the enrolled card. |
| cardholderId required | string A value that uniquely identifies the registered cardholder for the enrolled card. |
| languages required | Array of strings The updated enrollment languages. |
| phoneNumbers required | Array of strings The updated enrollment phone numbers. |
| challengeMethods required | Array of strings The updated enrollment challenge methods. |
| externalId required | string A value that uniquely identifies the enrolled card. |
| clientTrackingId | string A client provided identifier that uniquely identifies a card within a program. |
| carrierNumber | string The enrolled card's carrier number. |
| bankId required | string The enrolled card's bank identification number. |
{- "type": "3dsEnrollmentUpdated",
- "timestamp": "2021-07-09T17:30:00+00:00",
- "correlationId": "3865956",
- "programTag": "prog012",
- "merchantGroupTag": "mg034",
- "cardholderId": "3865956",
- "languages": [
- "en"
], - "phoneNumbers": [
- "555-2424"
], - "challengeMethods": [
- "sms-otc"
], - "externalId": "ZZ9DH4STVMX6XWMR",
- "clientTrackingId": "CTID-Testing-10000",
- "carrierNumber": "1234567890123456",
- "bankId": "123456"
}A message published when a card is enrolled in 3DS.
| merchantID | string Merchant identifier defined by the acquirer |
| merchantName | string Name of the merchant |
| merchantCountry | string The merchant's country represented as an ISO 3166-1 alpha-3 code |
| programTag | string A value assigned by EML that it uses to identify the program commonly referred to as the program unique tag |
| transactionDate | string <unix-epoch> The date of the transaction |
| challengedAt | string <unix-epoch> The date of the challenge |
| challengeExpiry | string <unix-epoch> The time the challenge request expires. If the request is not responded to within the timeframe specified in this field, the challenge is cancelled. |
| challengeMethod | string Enum: "PUSH" "SMS" The challenge method supplied during 3D Secure enrollment. |
| transactionAmount | number <decimal> Purchase amount in minor units of currency with all units removed |
| currencyCode | string The ISO 4217 alphabetic code associated to currency. |
| externalID | string A unique randomly generated alphanumeric identifier for the card |
| clientTrackingID | string <= 50 characters A unique value assigned by the client. It is used in reporting to further filter metadata |
| correlationID | text A unique identifier assigned to this transaction |
{- "merchantID": "string",
- "merchantName": "string",
- "merchantCountry": "string",
- "programTag": "string",
- "transactionDate": "string",
- "challengedAt": "string",
- "challengeExpiry": "string",
- "challengeMethod": "PUSH",
- "transactionAmount": 0,
- "currencyCode": "string",
- "externalID": "string",
- "clientTrackingID": "string",
- "correlationID": null
}This message will be posted to a configurable URL using configurable Basic Authentication when a user is either successfully created or the user fails to be validated.
| client_tracking_id | string A value assigned by the client that uniquely identifies the gaming account. |
| validation_result | string A message describing any validation problems with the request. This will be present only if the request fails validation. |
| linked_account_id | string An id used by EML to identify the account. Only included if the request succeeds. |
| merchant_group | string A value used by EML to identify the merchant group that a linked account was associated to upon creation. |
| pseudo_account_number | string The pseudo account number associated with this card. |
| routing_number | string The routing number associated with this card. |
| origination_link | string The tokenized link that is created when an associated white label account is created. |
{- "client_tracking_id": "string",
- "validation_result": "string",
- "linked_account_id": "string",
- "merchant_group": "string",
- "pseudo_account_number": "string",
- "routing_number": "string",
- "origination_link": "string"
}A message published when a card status is changed to Account Expired/Closed/Locked/Developer Refunded.
| type | string The webhook message type. Value: "CardStatusChanged" |
| system_transaction_id | integer <int64> The unique identifier associated to the transaction. |
| transaction_time | string <date-time> A Date Time when the transaction occurred in ISO 8601 format. |
| note | string A client-provided description of the transaction that caused the status change. |
Array of objects |
{- "type": "CardStatusChanged",
- "system_transaction_id": 123456789,
- "transaction_time": "2018-05-17T15:02:09+06",
- "note": "test note",
- "cards": [
- {
- "external_id": "ZZ9DH4STVMX6XWMR",
- "client_tracking_id": "CTD1234",
- "activity": "CardLock",
- "result": "Locked",
- "reason": "CardholderRequest"
}
]
}A message published when a new card is activated.
required | Array of objects |
{- "Transactions": [
- {
- "AcceptorCode": "ID-Code06",
- "AcceptorLocation": "OffsiteATM01 St Louis MO",
- "AcquiringBankId": 986509,
- "TransactionId": 123456789,
- "EmlId": 123456789,
- "TransactionTime": "2018-05-17T15:02:09+06",
- "TransactionAmount": 100,
- "TransactionCurrency": "GBP",
- "TransactionDescription": "TransactionSettled",
- "TransactionLocation": "Test Location",
- "Reason": "Approved",
- "Result": "Active",
- "Note": "Card Activated",
- "OriginalTransactionDate": "2018-05-17T15:00:09+06",
- "RetrievalReferenceNumber": 90001000,
- "Card": {
- "AvailableBalance": 0,
- "ExternalId": "ZZZZYYYY12345678",
- "ClientTrackingId": "236ea35f-58b7-4841-b95f-cf75157fd15f",
- "Program": "MyProg7890",
- "MerchantGroup": "MyMrgr7890",
- "Currency": "GBP",
- "CarrierNumber": null,
- "Bin": "123456"
}, - "CardHolderFees": [
- {
- "Amount": 1.5,
- "Type": "Foreign Exchange Fee",
- "TransactionId": 123456789
}
]
}
]
}A message published when a card is loaded.
required | Array of objects |
{- "Transactions": [
- {
- "AcceptorCode": "ID-Code06",
- "AcceptorLocation": "OffsiteATM01 St Louis MO",
- "AcquiringBankId": 986509,
- "TransactionId": 123456789,
- "EmlId": 123456789,
- "TransactionTime": "2018-05-17T15:02:09+06",
- "TransactionAmount": 100,
- "TransactionCurrency": "GBP",
- "TransactionDescription": "TransactionSettled",
- "TransactionLocation": "Test Location",
- "Reason": "Approved",
- "Result": "Active",
- "Note": "Card Loaded",
- "OriginalTransactionDate": "2018-05-17T15:00:09+06",
- "RetrievalReferenceNumber": 90001000,
- "Card": {
- "AvailableBalance": 0,
- "ExternalId": "ZZZZYYYY12345678",
- "ClientTrackingId": "236ea35f-58b7-4841-b95f-cf75157fd15f",
- "Program": "MyProg7890",
- "MerchantGroup": "MyMrgr7890",
- "Currency": "GBP",
- "CarrierNumber": null,
- "Bin": "123456"
}, - "CardHolderFees": [
- {
- "Amount": 1.5,
- "Type": "Foreign Exchange Fee",
- "TransactionId": 123456789
}
]
}
]
}A message published when a cardholder fee is charged or reversed.
| type | string The webhook message type. Value: "CardholderFeeApplied" |
| system_transaction_id | integer <int64> The unique identifier associated to the transaction. |
| transaction_time | string <date-time> A Date Time when the transaction occurred in ISO 8601 format. |
| transaction_currency | string = 3 characters The ISO 4217 currency code of the transaction. |
| transaction_description | string The transaction description. |
| note | string A client-provided description of the transaction that applied the fee. |
| program | string = 10 characters The Program Unique Tag associated with the cards. |
| eml_id | integer <int64> Unique ID assigned to tie together all related network transactions. |
Array of objects List of cards with one or more fees applied. |
{- "type": "CardholderFeeApplied",
- "system_transaction_id": 123456789,
- "transaction_time": "2018-05-17T15:02:09+06",
- "transaction_currency": "GBP",
- "transaction_description": "ATM Balance Inquiry",
- "note": "test note",
- "program": "EMLEUIn248",
- "eml_id": 123456789,
- "cards": [
- {
- "external_id": "ZZ9DH4STVMX6XWMR",
- "client_tracking_id": "CTD1234",
- "carrier_number": 4022510001701623,
- "merchant_group": "EMLEUSi362",
- "fees": [
- {
- "amount": 2,
- "type": "ATM Balance Inquiry Fee - Domestic"
}
]
}
]
}A message published when a card is unloaded.
required | Array of objects |
{- "Transactions": [
- {
- "AcceptorCode": "ID-Code06",
- "AcceptorLocation": "OffsiteATM01 St Louis MO",
- "AcquiringBankId": 986509,
- "TransactionId": 123456789,
- "EmlId": 123456789,
- "TransactionTime": "2018-05-17T15:02:09+06",
- "TransactionAmount": 100,
- "TransactionCurrency": "GBP",
- "TransactionDescription": "TransactionSettled",
- "TransactionLocation": "Test Location",
- "Reason": "Approved",
- "Result": "Active",
- "Note": "Card Unloaded",
- "OriginalTransactionDate": "2018-05-17T15:00:09+06",
- "RetrievalReferenceNumber": 90001000,
- "Card": {
- "AvailableBalance": 0,
- "ExternalId": "ZZZZYYYY12345678",
- "ClientTrackingId": "236ea35f-58b7-4841-b95f-cf75157fd15f",
- "Program": "MyProg7890",
- "MerchantGroup": "MyMrgr7890",
- "Currency": "GBP",
- "CarrierNumber": null,
- "Bin": "123456"
}, - "CardHolderFees": [
- {
- "Amount": 1.5,
- "Type": "Foreign Exchange Fee",
- "TransactionId": 123456789
}
]
}
]
}A message published when a cardholder's contact information is added.
| type required | string The webhook message type. Value: "CardholderContactAdded" |
| timestamp required | string <date-time> The date and time in ISO 8601 standard format at which the contact was added. |
| correlationId required | string An identifier that may be used to query webhook messages. In this case, it is the same as 'cardholderId'. |
| programTag required | string The unique tag of the program associated with the cardholder's card. |
| merchantGroupTag | string The unique tag of the activating merchant group associated with the cardholder's card. |
| cardholderId required | string A value that uniquely identifies the cardholder. |
| firstName required | string The cardholder's first name. |
| lastName required | string The cardholder's last name. |
| phoneNumber required | string The cardholder's phone number. |
| emailAddress | string <email> The cardholder's email address. |
| externalId required | string A value that uniquely identifies the cardholder's card. |
| clientTrackingId | string A client provided identifier that uniquely identifies a card within a program. |
| carrierNumber | string The cardholder card's carrier number. |
| bankId required | string The cardholder card's bank identification number. |
{- "type": "CardholderContactAdded",
- "timestamp": "2021-07-09T12:00:00+00:00",
- "correlationId": "3865956",
- "programTag": "prog012",
- "merchantGroupTag": "mg034",
- "cardholderId": "3865956",
- "firstName": "John",
- "lastName": "Doe",
- "phoneNumber": "555-2424",
- "emailAddress": "john.doe@example.com",
- "externalId": "ZZ9DH4STVMX6XWMR",
- "clientTrackingId": "CTID-Testing-10000",
- "carrierNumber": "1234567890123456",
- "bankId": "123456"
}A message published when a cardholder's contact information is modified.
| type required | string The webhook message type. Value: "CardholderContactUpdated" |
| timestamp required | string <date-time> The date and time in ISO 8601 standard format at which the contact was updated. |
| correlationId required | string An identifier that may be used to query webhook messages. In this case, it is the same as 'cardholderId'. |
| programTag required | string The unique tag of the program associated with the cardholder's card. |
| merchantGroupTag | string The unique tag of the activating merchant group associated with the cardholder's card. |
| cardholderId required | string A value that uniquely identifies the cardholder. |
| firstName required | string The cardholder's first name. |
| lastName required | string The cardholder's last name. |
| phoneNumber required | string The cardholder's phone number. |
| emailAddress | string <email> The cardholder's email address. |
| externalId required | string A value that uniquely identifies the cardholder's card. |
| clientTrackingId | string A client provided identifier that uniquely identifies a card within a program. |
| carrierNumber | string The cardholder card's carrier number. |
| bankId required | string The cardholder card's bank identification number. |
{- "type": "CardholderContactUpdated",
- "timestamp": "2021-07-09T12:05:00+00:00",
- "correlationId": "3865956",
- "programTag": "prog012",
- "merchantGroupTag": "mg034",
- "cardholderId": "3865956",
- "firstName": "John",
- "lastName": "Doe",
- "phoneNumber": "555-2424",
- "emailAddress": "john.doe@example.com",
- "externalId": "ZZ9DH4STVMX6XWMR",
- "clientTrackingId": "CTID-Testing-10000",
- "carrierNumber": "1234567890123456",
- "bankId": "123456"
}A message published when the IBANs associated with a card have changed.
To retrieve the latest IBANs assigned to the card after receiving this message,
call the Get IBANs API.
| type required | string The webhook message type. Value: "Cards.Ibans.Updated" |
| timestamp required | string <date-time> The date and time in ISO 8601 standard format at which the IBANs were updated. |
| programTag required | string The unique tag of the program associated with the card. |
| merchantGroupTag | string The unique tag of the activating merchant group associated with the card. |
| externalId required | string A value that uniquely identifies a card. |
| clientTrackingId | string A client provided identifier that uniquely identifies a card within a program. |
{- "type": "Cards.Ibans.Available",
- "timestamp": "2024-10-01T12:05:00+00:00",
- "programTag": "prog012",
- "merchantGroupTag": "mg034",
- "externalId": "ZZ9DH4STVMX6XWMR",
- "clientTrackingId": "CTID-Testing-10000"
}This message will be posted to a configurable URL using configurable Basic Authentication when a card is either successfully activated or the user fails to be validated.
| transaction_description | string The webhook message type. Value: "CardholderContactAdded" |
| card_identifier | string <date-time> The date and time in ISO 8601 standard format at which the contact was added. |
| success | string An identifier that may be used to query webhook messages. In this case, it is the same as 'cardholderId'. |
| error_message | string The unique tag of the program associated with the cardholder's card. |
{- "transaction_description": "CardholderContactAdded",
- "card_identifier": "2019-08-24T14:15:22Z",
- "success": "string",
- "error_message": "string"
}A message published when a disbursement account has had funding activity.
| type | string The webhook message type. Value: "DisbursementAccounts.Funded" |
| disbursementAccountId | integer The id of the disbursement account that had funding activity. |
| ledgerEntryId | integer The id of the ledger entry created by the funding activity. |
| creationDate | string <date-time> The date and time in ISO 8601 standard format at which a ledger entry was created. |
| amount | number <decimal> The amount of the funding activity. |
| clientTrackingId | string <= 50 characters The client-provided identifier for the funding activity. |
{- "type": "DisbursementAccounts.Funded",
- "disbursementAccountId": 0,
- "ledgerEntryId": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "amount": 0,
- "clientTrackingId": "string"
}This message will be posted to a configurable URL using configurable Basic Authentication when a user transfers money from their EML account to their partner gaming account.
| client_tracking_id | string A value assigned by the client that uniquely identifies the gaming account. |
| amount | string <decimal> The amount that is to be transferred into the gaming account. |
| transaction_id | string A unique identifier that can be used to identify this transaction. |
| merchant_group | string A value used by EML to identify the merchant group to which funds were transferred. |
{- "client_tracking_id": "string",
- "amount": "string",
- "transaction_id": "string",
- "merchant_group": "string"
}This message will be posted to a configurable URL using configurable Basic Authentication when a challenge request is received.
| merchantID | string Merchant identifier defined by the acquirer. This data element is provided by the acquirer. |
| merchantName | string Name of the merchant. This data element is provided by the acquirer. |
| merchantCountry | string The merchant's country represented as a ISO 3166-1 alpha-3 code. This data element is provided by the acquirer. |
| programTag | string A value assigned by EML that it uses to identify the program commonly referred to as the program unique tag. |
| transactionDate | string <date-time> The date of the transaction. This data element is provided by the acquirer. |
| challengedAt | string The date of the challenge. This data element is provided by the acquirer. |
| challengeExpiry | string The time the challenge request expires. If the request is not responded to within the timeframe specified in this field; the challenge is |
| challengeMethod | string The challenge method supplied during 3D Secure enrollment. Valid values are PUSH; SMS. |
| transactionAmount | string Purchase amount in minor units of currency with all units removed. This data element is provided by the acquirer. |
| currencyCode | string The ISO 4217 alphabetic code associated to currency. This data element is provided by the acquirer. |
| externalID | string A unique; randomly generated alphanumeric identifier for the card. |
| clientTrackingID | string A unique value assigned by the client; used in reporting to further filter metadata. |
| correlationID | string A unique identifier assigned to this transaction |
{- "merchantID": "string",
- "merchantName": "string",
- "merchantCountry": "string",
- "programTag": "string",
- "transactionDate": "2019-08-24T14:15:22Z",
- "challengedAt": "string",
- "challengeExpiry": "string",
- "challengeMethod": "string",
- "transactionAmount": "string",
- "currencyCode": "string",
- "externalID": "string",
- "clientTrackingID": "string",
- "correlationID": "string"
}Transmits details about a settled transaction.
Details about a settled transaction.
required | Array of objects |
{- "Transactions": [
- {
- "AcceptorCode": "ID-Code06",
- "AcceptorLocation": "OffsiteATM01 St Louis MO",
- "AcquiringBankId": 986509,
- "TransactionId": 123456789,
- "EmlId": 123456789,
- "TransactionTime": "2018-05-17T15:02:09+06",
- "TransactionAmount": 100,
- "TransactionCurrency": "GBP",
- "TransactionDescription": "TransactionSettled",
- "TransactionLocation": "Test Location",
- "Reason": "Approved",
- "Result": "Active",
- "Note": "Card Activated",
- "OriginalTransactionDate": "2018-05-17T15:00:09+06",
- "RetrievalReferenceNumber": 90001000,
- "Card": {
- "AvailableBalance": 0,
- "ExternalId": "ZZZZYYYY12345678",
- "ClientTrackingId": "236ea35f-58b7-4841-b95f-cf75157fd15f",
- "Program": "MyProg7890",
- "MerchantGroup": "MyMrgr7890",
- "Currency": "GBP",
- "CarrierNumber": null,
- "Bin": "123456"
}, - "CardHolderFees": [
- {
- "Amount": 1.5,
- "Type": "Foreign Exchange Fee",
- "TransactionId": 123456789
}
]
}
]
}This API is used to change the PIN associated to a card.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| current_pin required | string The PIN currently associated to the card. |
| new_pin required | string The PIN to associated to the card |
{- "current_pin": 8239,
- "new_pin": 2561
}This API is used to get a 4-digit PIN on PIN-eligible cards.
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| program required | string When using the search_parameter of ClientTrackingId; this value will indicate which program the provided card_id belongs to. While other search_parameters are guaranteed to be unique across the system and are assigned by EML Payments; ClientTrackingId is assigned to the card by an integration client and there is no guarantee that it will be unique to the system. |
Details required to get tax receipt for transfer.
| card_id required | string The identifier of the card for which the pin is being requested. Which identifier to use is determined by the search_parameter. |
| security_code | string The security code from the card. |
| dob | string The date of birth for the cardholder in ‘mmddyyyy’ format. |
{- "card_id": 1234567891234567,
- "security_code": 340759,
- "dob": 2271975
}{- "pin": 1256
}This API is used to submit a request to mail a PIN to the cardholder.
| client_tracking_id required | string The client tracking identifier. This needs to be associated with the program in order to find a valid card that can be placed in the pinmailer queue. |
| program required | string This unique identifier is provided by EML. |
| data_field1 | string The stock code. This value will be inserted into the encoding file when the pinmailers are processed. |
{- "client_tracking_id": "01-03-135228",
- "program": "EMLFi123",
- "data_field1": 1
}Returns a public key used to encrypt sensitive data before sending to EML. Endpoints that require this key will reference back to this endpoint.
{- "certificate": "-----BEGIN CERTIFICATE-----\r\nwDQYJKoZIhvcNAQENgkmPX6DnooVPAHvaXVhPjizA....\r\n-----END CERTIFICATE-----\r\n",
- "certificate_id": "abc123"
}This API is used to set a 4-digit PIN on PIN-eligible cards.
| id required | string Card ID |
| search_parameter | string Default: "PrintText" Enum: "ActualCardNumber" "CarrierNumber" "ClientTrackingId" "ExternalId" "PaymentTrackingId" "PrintText" Indicates the unique value identifier used to identify the card. When not specified; system assumes unique value identifier is PrintText. |
| new_pin required | string The value of the new pin to be set on the card. |
{- "new_pin": 2561
}Requires a user has the GetPIN permission.
Verifies an encrypted ISO 9564 Format 0 PIN Block for a given card.
The PIN block is created by the client and then encrypted using AES and a 256-bit key and initialization vector that are also provided by the client. The key should then be encrypted using the EML public key. That value, along with the initialization vector and the EML provided ID of the public key should be packaged into the request.
The EML public key is obtained using the Public encryption certificate endpoint. This service should be called each time a PIN verification is needed, rather than storing the key and ID for reuse. If the EML key is replaced, only the current key and the key immediately preceeding it are allowed. Older keys cannot be used.
| id required | string Card ID |
| certificate_id required | string The id of the certificate that was used to encrypt the key. This value is provided by EML along with a public key. |
| encrypted_pin_block required | string <base64> The ISO 9564 Format 0 PIN block. This value must be encrypted using the client provided key and initialization vector. |
| encrypted_key required | string <base64> The key used to encrypt the PIN block. This value is client provided, and must be encrypted using the EML provided public key. |
| initialization_vector required | string <base64> The initialization vector used to encrypt the PIN block. This value is not encrypted. |
{- "certificate_id": "july-12-2021",
- "encrypted_key": "WLXO2aNnTytWVPAHvaXVhPjizAs2jq0zRoCYyDJELVhQuK45kOyNhUmk034GbwlyAirmBHRB2WI8WRR...",
- "encrypted_pin_block": "3TrWXV0u9vtw/C0mNhyKNhQrL1/WXmYPgTwQylUKs=",
- "initialization_vector": "9hBr6hLExHeb1Vmo1LjDkw=="
}{- "code": 400,
- "message": "Bad request"
}This API is used to look up single Merchant Group's details. This endpoint requires the ManagePrograms permission.
| merchantGroupTag required | string A 10-character unique identifier used to identify which Merchant Group’s details should be retrieved. |
{- "Id": 317,
- "Name": "EML Test Merchant Group 123",
- "Address": {
- "Id": 2470101,
- "Address1": "123 Test Street",
- "Address2": "Suite 100",
- "City": "Test City",
- "State": "CA",
- "Country": "United States",
- "PostalCode": 92648
}
}This API is used to look up a listing of Merchant Groups associated to a given Program. It can be optionally filtered by either Merchant Group Name or Merchant Group Unique Tag. If no search term is provided; then a full list of Merchant Groups associated to the Program is returned. This endpoint requires the ManagePrograms permission.
| searchTerm | string Optional filter parameter to search for specific Merchant Groups. The filter is applied to either the Merchant Group Name or the Merchant Group unique tag; The filter is a contains; and not a starts with. |
[- {
- "Id": 1,
- "Name": "EML Test Merchant Group 1",
- "UniqueTag": "EMLFiMG123"
}, - {
- "Id": 2,
- "Name": "EML Test Merchant Group 2",
- "UniqueTag": "EMLFiMG345"
}
]This API is used to look up a listing of a Program’s cardholder fees. It will return an array of cardholder fees that have been set up for a Program. The collection returned can be filtered by optionally providing a list of fee types that the consuming client desires to be returned.
| programTag required | string A 10-character unique identifier used to identify which Program’s details should be retrieved. |
| feeTypes | string Enum: "ForeignExchangeFee" "AtmCashWithdrawalFeeDomestic" "PinReIssueFee" "AtmBalanceInquiryFeeDomestic" "AtmDeclineFeeDomestic" "AtmCashWithdrawalFeeForeign" "AtmBalanceInquiryFeeForeig" "AtmDeclineFeeForeign" "ForeignExchangeFeeAdjustment" "PosTransactionFee" "CardHolderFeeReversal" "ExtendAccountExpirationFeeFixed" "ExtendAccountExpirationFeePercent" "CardMediumTransferFee" Optional value used to filter the fees being returned. |
{- "program": "EMLFi123",
- "program_fees": [
- {
- "fee_amount": 1.5,
- "card_holder_fee_type": "ExtendAccountExpirationFeeFixed",
- "fee_type": "Fixed",
- "fee_waive_allowance": 1
}, - {
- "fee_amount": 1.2,
- "card_holder_fee_type": "ForeignExchangeFee",
- "fee_type": "Percent"
}, - {
- "fee_amount": 1.75,
- "card_holder_fee_type": "AtmBalanceInquiryFeeDomestic",
- "fee_type": "Fixed"
}
]
}This API is used to look up a single Program’s details. This endpoint requires the ManagePrograms permission.
| programTag | string A 10-character unique identifier used to identify which Program’s details should be retrieved. |
{- "Id": 1,
- "DeveloperId": 1,
- "Name": "EML Test Program 123",
- "LaunchDate": "/Date(1387432800000-0600)/",
- "UseRandomAuthId": false,
- "InternalFlag": false,
- "AVSHandlingMethod": "NotSupported",
- "DisplayFeeBasedSignageMessage": true,
- "UniqueTag": "EMLFi123",
- "RegisterFlag": true,
- "GeographicUsageRestrictionFlag": false,
- "SupportsPOSActivation": false,
- "ReportDerecognition": false,
- "PlasticExpirationDurationMonths": 6,
- "SupportsVirtualCards": true,
- "SupportsCardReload": true,
- "AutoRegisterDuringBulkActivation": false,
- "FundingLimitLevelType": "Program",
- "RequiresManualApprovalForBulkFiles": false,
- "ReloadWithoutRegistration": false,
- "RequiresManualActivation": false,
- "AutomaticallyApproveBatchFiles": false,
- "AutomaticallyLockBatch": false,
- "SupportsExpirationDateValidation": false,
- "AllowCardNumberRandomization": false,
- "RequiresCip": false,
- "AutoSubmitEncodingFiles": false,
- "AutomaticallyApproveReplacementFiles": false,
- "RestrictRedemptionToActivationAmount": false,
- "AllowRecurringPayment": false,
- "SendPinLockNotification": false,
- "SuppressBalance": false,
- "RestrictAccountNumberEntryModeToRegistration": false,
- "SupportsTransactionEvents": true,
- "EmlSubsidiary": "EML US",
- "SupportsAutomaticBillingUpdates": false,
- "SupportsTokenization": false,
- "ThreeDsEnabled": false,
- "NetSuiteClass": "Reloadable",
- "SupportsPeriodicStatements": true,
- "Supports3PDActivationLock": false,
- "CheckCardMerchantGroupWhitelist": false,
- "SupportsBalanceInquiryTransactions": true
}This API is used to look up a listing of a Program’s configured funding limits. It will return an array of funding limits, and their associated limits amounts. The collection returned can be optionally filtered to return specific funding limit types by providing the desired funding limit type in the optional querystring parameter.
| programTag required | string A 10-character unique identifier used to identify which Program’s details should be retrieved. |
| fundingLimitTypes | string Enum: "TotalBalance" "MaxIssueAmount" "MinIssueAmount" "MaxPerReloadAmount" "DailyMaxReloadAmount" "DailyMaxReloadCount" "DailyMaxRedemptionAmount" "AccessToFundsLoadAmount" "AccessToFundsRedemptionAmount" "DailyCardHolderActivationAmount" "DailyMaxCashBackAmount" "TransactionMinCashBackAmount" "TransactionMaxCashBackAmount" "DailyMaxNumberOfCashBackTransactions" "MonthlyMaxRedemptionAmount" "YearlyMaxRedemptionAmount" "TransactionMaxRedemptionAmount" "MonthlyMaxFundCount" "MonthlyMaxFundAmount" "YearlyMaxFundAmount" Optional value used to filter the fees being returned. |
[- {
- "Id": 1,
- "ProgramId": 123,
- "FundingLimitTypeId": 1,
- "FundingLimitType": "TotalBalance",
- "Limit": 1000000
}, - {
- "Id": 2,
- "ProgramId": 123,
- "FundingLimitTypeId": 2,
- "FundingLimitType": "MaxIssueAmount",
- "Limit": 1000000
}, - {
- "Id": 3,
- "ProgramId": 123,
- "FundingLimitTypeId": 3,
- "FundingLimitType": "MinIssueAmount",
- "Limit": 0
}, - {
- "Id": 4,
- "ProgramId": 123,
- "FundingLimitTypeId": 4,
- "FundingLimitType": "MaxPerReloadAmount",
- "Limit": 1000000
}, - {
- "Id": 5,
- "ProgramId": 123,
- "FundingLimitTypeId": 5,
- "FundingLimitType": "DailyMaxReloadAmount",
- "Limit": 1000000
}, - {
- "Id": 6,
- "ProgramId": 123,
- "FundingLimitTypeId": 6,
- "FundingLimitType": "DailyMaxReloadCount",
- "Limit": 10
}, - {
- "Id": 7,
- "ProgramId": 123,
- "FundingLimitTypeId": 7,
- "FundingLimitType": "DailyMaxRedemptionAmount",
- "Limit": 1000000
}, - {
- "Id": 8,
- "ProgramId": 123,
- "FundingLimitTypeId": 8,
- "FundingLimitType": "AccessToFundsLoadAmount",
- "Limit": 1000000
}, - {
- "Id": 9,
- "ProgramId": 123,
- "FundingLimitTypeId": 9,
- "FundingLimitType": "AccessToFundsRedemptionAmount",
- "Limit": 1000000
}, - {
- "FundingLimitTypeId": 10,
- "FundingLimitType": "DailyCardHolderActivationAmount"
}, - {
- "FundingLimitTypeId": 11,
- "FundingLimitType": "DailyMaxCashBackAmount"
}, - {
- "FundingLimitTypeId": 12,
- "FundingLimitType": "TransactionMinCashBackAmount"
}, - {
- "FundingLimitTypeId": 13,
- "FundingLimitType": "TransactionMaxCashBackAmount"
}, - {
- "FundingLimitTypeId": 14,
- "FundingLimitType": "DailyMaxNumberOfCashBackTransactions"
}, - {
- "FundingLimitTypeId": 15,
- "FundingLimitType": "MonthlyMaxRedemptionAmount"
}, - {
- "FundingLimitTypeId": 16,
- "FundingLimitType": "YearlyMaxRedemptionAmount"
}, - {
- "FundingLimitTypeId": 17,
- "FundingLimitType": "TransactionMaxRedemptionAmount"
}, - {
- "FundingLimitTypeId": 18,
- "FundingLimitType": "MonthlyMaxFundCount"
}, - {
- "FundingLimitTypeId": 19,
- "FundingLimitType": "MonthlyMaxFundAmount"
}, - {
- "FundingLimitTypeId": 20,
- "FundingLimitType": "YearlyMaxFundAmount"
}
]This API is used to look up a listing of Programs. It can be optionally filtered by either Program Name or Program Unique Tag. If no search term is provided; then a full list of Programs is returned. This endpoint requires the ManagePrograms permission.
| searchTerm | string Optional filter parameter to search for specific Programs. The filter is applied to either the Program Name or the Program unique tag; The filter is a contains; and not a starts with. |
[- {
- "Id": 1,
- "Name": "EML Test Program 1",
- "UniqueTag": "EMLFi123"
}, - {
- "Id": 2,
- "Name": "EML Test Program 2",
- "UniqueTag": "EMLFi345"
}
]This API is used to look up a default disbursement account configured for either a Program or a Program Merchant Group. It will return an object containing disbursement account information. The endpoint takes in a Program Unique Tag as a mandatory parameter, and a Merchant Group Unique Tag as an optional parameter. If both parameters are provided, the endpoint will return the default disbursement account configured for the Program and Merchant Group. If no account is found, it will fallback and attempt to return the default disbursement account configured for the Program. This endpoint requires the AccessFundsManagement permission.
| programTag required | string A 10-character unique identifier used to identify which Program’s details should be retrieved. |
| merchantGroupTag | string Optional Merchant Group Unique Tag value. If provided, the endpoint will first attempt to retrieve the default disbursement account configured for the Merchant Group, and if no account is found, it will then fall back and attempt to retrieve the default disbursement account configured for the Program. |
{- "Id": 1,
- "References": {
- "DisbursementAccountId": 1,
- "ReferenceId": 1,
- "ReferenceNumber": "iu731m3arpb7h1et",
- "CreatedDate": "/Date(1387432800000-0600)/"
}, - "BankAccountId": 1,
- "BankAccountName": "EMLPooledAccount",
- "BankAccountIca": "Test ICA",
- "Description": "Test Disbursement Account",
- "Enabled": true,
- "OverdraftLimit": 1000,
- "Balance": 999897,
- "AvailableBalance": 999897,
- "ProgramClaims": [ ],
- "ReferenceNumber": 1,
- "IsInternalAccount": false,
- "Ibans": [
- "TestIBAN"
]
}This API is utilized to simulate a reversal advice
Details required to simulate a reversal advice
| CardExternalId | string <= 16 characters The card's external Id |
| OriginalNetworkTransactionId | string <= 9 characters Network transaction id (tracking id) from the authorization to be reversed |
{- "CardExternalId": "E987654321012345",
- "OriginalNetworkTransactionId": "EML999999"
}{- "NetworkTransactionId": "EML000123",
- "ResponseCode": "00",
- "ResponseMessage": "Approved"
}This API is utilized to simulate a purchase financial transaction, i.e. a purchase and settlement.
Details required to simulate a purchase financial transaction
| CardExternalId | string <= 16 characters The card's external Id |
| AcquirerId | string <= 11 characters Identifies the acquiring institution |
| OriginalNetworkTransactionId | string <= 9 characters Network transaction id (tracking id) from the authorization to be reversed |
object (MerchantProperties) | |
object (PoSDeviceProperties) | |
object (TransactionProperties) | |
object (ReconciliationProperties) |
{- "CardExternalId": "E987654321012345",
- "AcquirerId": "001234",
- "OriginalNetworkTransactionId": "EML999999",
- "Merchant": {
- "CategoryCode": "5812",
- "AcceptorId": "12345678901",
- "Name": "Best Merchant Goods"
}, - "PosDevice": {
- "CardholderPresentStatus": "NotPresent",
- "CountryCode": "840",
- "PanEntryMode": "Manual",
- "SupportsPartialAuthorization": false,
- "TerminalId": "EML00452"
}, - "TransactionDetail": {
- "TransactionAmount": 2.03,
- "CardholderBillingAmount": 2.03,
- "TransactionCurrencyCode": "840",
- "CardholderBillingCurrencyCode": "840"
}
}{- "NetworkTransactionId": "EML000123",
- "ResponseCode": "null",
- "ResponseMessage": "Acknowledgement received"
}This API is utilized to simulate a purchase financial transaction, i.e. a purchase and settlement.
Details required to simulate a a purchase financial transaction
| CardExternalId | string <= 16 characters The card's external Id |
| AcquirerId | string <= 11 characters Identifies the acquiring institution |
object (MerchantProperties) | |
object (PoSDeviceProperties) | |
object (TransactionProperties) | |
object (ReconciliationProperties) |
{- "CardExternalId": "E987654321012345",
- "AcquirerId": "001234",
- "Merchant": {
- "CategoryCode": "5812",
- "AcceptorId": "12345678901",
- "Name": "Best Merchant Goods"
}, - "PosDevice": {
- "CardholderPresentStatus": "NotPresent",
- "CountryCode": "840",
- "PanEntryMode": "Manual",
- "SupportsPartialAuthorization": false,
- "TerminalId": "EML00452"
}, - "TransactionDetail": {
- "TransactionAmount": 2.03,
- "CardholderBillingAmount": 2.03,
- "TransactionCurrencyCode": "840",
- "CardholderBillingCurrencyCode": "840"
}, - "ReconciliationDetail": {
- "Amount": 2.03,
- "ConversionRate": 1,
- "CurrencyCode": "840"
}
}{- "NetworkTransactionId": "EML000123",
- "ResponseCode": "00",
- "ResponseMessage": "Approved",
- "AuthorizationAmount": 2.03
}The Token API is used to generate the bearer token.
| username | string [ 1 .. 16 ] characters Provided by EML representative. |
| password | string [ 5 .. 11 ] characters Password associated with the username. |
| client_id | string Value: "com.storefinancial.isosimulatorreverseproxy" |
| grant_type | string Value: "password" |
{- "username": "providedByEml",
- "password": "myPassword",
- "client_id": "com.storefinancial.isosimulatorreverseproxy",
- "grant_type": "password"
}{- "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJqbmFpciIsInVuaXF1ZV9uYW1lIjoiam5haXIiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2FjY2Vzc2NvbnRyb2xzZXJ2aWNlLzIwMTAvMDcvY2xhaW1zL2lkZW50aXR5cHJvdmlkZXIiOiJBU1AuTkVUIElkZW50aXR5IiwiaHR0cHM6Ly9zdG9yZWZpbmFuY2lhbC5uZXQvc2Vzc2lvbklkIjoid2N3a3k1dGJrYm1uYXVsYWRtYmcxYnMxc2wxYnJucDMiLCJodHRwczovL3N0b3JlZmluYW5jaWFsLm5ldC9jb250YWN0SWQiOiIxNTAwMjIiLCJodHRwczovL3N0b3JlZmluYW5jaWFsLm5ldC9wZXJtaXNzaW9uIjpbIklzb1NpbXVsYXRvcl9BdXRob3JpemF0aW9uc19QdXJjaGFzZSIsIklzb1NpbXVsYXRvcl9BdXRob3JpemF0aW9uc19QcmVhdXRob3JpemUiLCJJc29TaW11bGF0b3JfQXV0aG9yaXphdGlvbnNfV2l0aGRyYXciLCJJc29TaW11bGF0b3JfQXV0aG9yaXphdGlvbnNfUHVyY2hhc2VSZXR1cm4iLCJJc29TaW11bGF0b3JfRmluYW5jaWFsVHJhbnNhY3Rpb25zX1B1cmNoYXNlIiwiSXNvU2ltdWxhdG9yX1JldmVyc2Fsc19SZXZlcnNlIiwiSXNvU2ltdWxhdG9yX1NldHRsZW1lbnRzX1NldHRsZSJdLCJpc3MiOiJodHRwczovL3dlYnNlcnZpY2VzLnN0b3JlZmluYW5jaWFsLm5ldC9vYXV0aCIsImF1ZCI6ImNvbS5zdG9yZWZpbmFuY2lhbC5pc29zaW11bGF0b3JyZXZlcnNlcHJveHkiLCJleHAiOjE2MTU5MjI1NzcsIm5iZiI6MTYxNTgzNjE3N30.jDpSHHQPhhGLzDwdp-gjJwox6rHNE6mdes6BMQXvwes",
- "token_type": "bearer",
- "expires_in": 86399
}