This document explains the API specification that a biller needs to implement so that EBPP can pull customer, customer account and billing related information in real-time.
EBPP supports API Keys over HTTP Headers.
In this authentication scheme, EBPP would send API Keys, in the form of HTTP headers, as part of the request. These API Keys must be configured in EBPP by the biller/client beforehand. Clients can check for the authenticity of the request by comparing the API keys and values received in the request with the ones configured in EBPP. Clients can configure more than one API Keys based on their business needs.
This API specification supports standard HTTP response codes to return the status of an API call. Additional information, such as errors, may be useful to the caller (EBPP). An HTTP response code of 2xx indicates success. An HTTP response code of 4xx indicates a client error and 5xx indicates a processing error. In these cases, billers are expected to return the list of errors in the format specified in the Error Codes section. Each error has a code, message and specifics on which field the error pertains to (if applicable.)
An HTTP response code of 4xx indicates a client error and 5xx indicates a processing error. Each error has a code, message and field.
Example :
{
"errors": [
{
"code": "error_field",
"message": "The error returned if a mandatory field is missing value or if the value is invalid. This is accompanied by the field that caused the error.",
"field": "account_number"
}
]
}
The following error codes can be implemented by the biller.
code | message |
---|---|
error_field | The error returned if a mandatory field is missing value or if the value is invalid. This is accompanied by the field that caused the error. |
error_processing | The error returned if it is not related to a particular field. |
Customers holds Customer Accounts. A Payment is always made against a Customer Account by/on behalf of a Customer using an associated Funding Account.
Customer : The individual or entity associated with a Customer Account.
Customer Account : The billing account against which a Customer makes payments.
This section outlines the API required to exchange and manage customer information, such as customer account details.
This API is used to retrieve/lookup customer from biller/client system. Customer can be retrieved matching criteria that includes the customer reference or customer account number or lookup reference.
client_key required | string [ 0 .. 50 ] characters [a-zA-Z0-9_-]{1,50} The unique identifier assigned by EBPP to the client. |
api_key required | string API key to authenticate requests. You can pass one or more pair (< Key > < Value >). |
customer_reference | string [ 0 .. 100 ] characters ^$|[0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\s\\]+ Unique ID assigned by the biller/client system for a given customer. |
account_number | string [ 4 .. 32 ] characters [a-zA-Z0-9-_/!@#$%&*{}.]+ Customer Account number of the customer to get details of. |
lookup_reference | string [ 0 .. 100 ] characters ^$|[0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\s\\]+ The alternate reference maintained in the biller/client system for a customer. |
The concerned Resource found with the provided matching criteria.
The request was unacceptable, often due to missing a required parameter.
Unauthorized, often due to missing api key(s).
Forbidden
The requested resource doesn't exist.
Something went wrong at the Server
{- "first_name": "Michael",
- "last_name": "Smith",
- "middle_name": "S",
- "gender": "male",
- "date_of_birth": "1980-11-11",
- "ssn": "123456789",
- "locale": "en_US",
- "email": "userid@example.com",
- "registered_email": "userid@example.com",
- "home_phone": "1234567890",
- "work_phone": "1234567890",
- "mobile_phone": "1234567890",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}, - "custom_fields": {
- "enroll_auth_code": "string",
- "property1": "string",
- "property2": "string"
}, - "customer_reference": "IkdphX8DsEtOeOI_73823121",
- "status": "active",
- "customer_accounts": {
- "list": [
- {
- "client_key": "string",
- "account_holder_name": "Michael Smith",
- "nickname": "Smith",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}, - "customer_account_reference": "string",
- "account_number": "478E4385e604B685",
- "current_balance": "101.05",
- "current_statement_balance": "101.05",
- "minimum_payment_due": "101.05",
- "past_amount_due": "101.05",
- "payment_due_date": "2018-11-11",
- "statement_date": "2018-11-01",
- "payoff_amount": "10000.00",
- "payoff_expiry_date": "2020-06-01",
- "status": "active",
- "custom_fields": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}