Skip to content

Customers

Subscriptions are associated with the customer resource. Customers can be created either along with a subscription via the subscription API or via the API as follows.


Create a customer

To create a customer, send a POST request to https://api.unonapay.com/customers with the following parameters:

Parameter Type Description
first_name string First name of the customer.
last_name string Last name of the customer
address string Address of the customer.
city string City of the customer.
country string Country of the customer. It is in ISO 3166-1 Alpha-2 format.
zip string Billing ZIP or postal code of the customer. If country=US, zip format must be NNNNN or NNNNN-NNNN
state string The two-letter state of the customer. It is required to send only if the customer country is US or CA
phone string Phone number of the customer.
email * required
string E-mail address of the customer.
ip * required
string IP address of the customer device.

If the request credentials and parameters are valid, UnonaPay will return 201 HTTP status code and a new customer object with all the relevant details. Otherwise, UnonaPay will return 422 HTTP status code and an error message.

Example of the request for creating a customer
curl https://api.unonapay.com/customers \
  -X POST -u shop_id:secret_key \
  -H "Content-Type: application/json" \
  -d \
'{
  "first_name":"John",
  "last_name":"Doe",
  "address":"1st Street",
  "country":"US",
  "city":"Denver",
  "zip":"92006",
  "state":"CO",
  "phone":"+1-555-555-5555",
  "email":"customer@example.com",
  "ip":"127.0.0.1"
}'
Example of the response to the request for creating a customer
{
  "id":"cst_7aee5afb954c7ef7",
  "first_name":"John",
  "last_name":"Doe",
  "address":"1st Street",
  "country":"US",
  "city":"Denver",
  "zip":"92006",
  "state":"CO",
  "phone":"+1-555-555-5555",
  "email":"customer@example.com",
  "ip":"127.0.0.1"
}
Example of the request for creating a customer with invalid parameters
curl https://api.unonapay.com/customers \
  -X POST -u shop_id:secret_key \
  -H "Content-Type: application/json" \
  -d \
'{
  "city":"Denver",
  "zip":"92006",
  "state":"CO",
  "phone":"+1-555-555-5555",
  "email":"customer@example.com"
}'
Example of the response to the request for creating a customer with invalid parameters
{
  "message": "Ip address is invalid. Ip can't be blank",
  "errors": {
    "ip": [
      "address is invalid",
      "can't be blank"
    ]
  }
}

Get customer details

To get customer details, send a GET request to https://api.unonapay.com/customers/:customer_id, where :customer_id stands for the identifier of the required customer.

If the customer ID exists, UnonaPay will return 200 HTTP status code and the customer details.

Example of the request to get details of the customer with the ID cst_7aee5afb954c7ef7
curl -u shop_id:secret \
  https://api.unonapay.com/customers/cst_7aee5afb954c7ef7
Response example
{
  "id":"cst_7aee5afb954c7ef7",
  "first_name":"John",
  "last_name":"Doe",
  "address":"1st Street",
  "country":"US",
  "city":"Denver",
  "zip":"92006",
  "state":"CO",
  "phone":"+1-555-555-5555",
  "email":"customer@example.com",
  "ip":"127.0.0.1"
}

Get a list of customers

To get a list of all customers, send a GET request to https://api.unonapay.com/customers.

If there are customers, UnonaPay will return 200 HTTP status code and an array of customer details.

Example of the request for a list of all customers
curl -u shop_id:secret \
  https://api.unonapay.com/customers
Response example
[
  {"id":"cst_5ca4fab9dfc7fcbf","first_name":"John","last_name":"Doe","address":"1st Street","country":"US","city":"Denver","zip":"92006","state":"CO","phone":"+1-555-555-5555","email":"customer@example.com","ip":"127.0.0.1"},
  {"id":"cst_9f65045c1f4c3676","first_name":"Mark","last_name":"Dow","address":"2nd Street","country":"US","city":"Denver","zip":"90006","state":"CO","phone":"+1-551-548-5547","email":"customer.mark@example.com","ip":"10.10.0.4"}
]