openapi: 3.0.3
info:
title: 'Dime Payments API Documentation'
description: 'A simple, basic API for managing Merchants through Dime Payments. JSON based REST API'
version: 1.0.0
servers:
-
url: 'https://app.dimepayments.com'
paths:
/api/merchant/list:
get:
summary: 'List Merchants'
operationId: listMerchants
description: 'Get a list of all merchants and their fields'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": [\n {\n \"name\": \"Streich, Kub and Steuber\",\n \"sid\": \"000010\",\n \"mcc\": \"8661\",\n \"slug\": \"deleniti-sunt-at-unde\",\n \"pub_api_key\": \"pub_1zBYuKWfl4hvL71yOt40lM3QfMf\",\n \"processor_mid\": null,\n \"active\": true,\n \"active_at\": null,\n \"g_pay\": false,\n \"a_pay\": false,\n \"pci_compliance\": false,\n \"website\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"addr3\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null,\n \"phone\": null,\n \"contracted_date\": null,\n \"primary_phone\": null,\n \"payment_token\": null,\n \"primary_email\": null,\n \"primary_name\": null\n},\n{\n \"name\": \"Kling, McGlynn and McKenzie\",\n \"sid\": \"000002\",\n \"mcc\": \"8661\",\n \"slug\": \"sint-inventore-cum-tempore\",\n \"pub_api_key\": \"pkapi_cert_CjsyGGXamvz9xxcrri\",\n \"processor_mid\": \"\",\n \"active\": true,\n \"active_at\": null,\n \"g_pay\": true,\n \"a_pay\": true,\n \"pci_compliance\": true,\n \"website\": \"https:\\/\\/www.google.com\",\n \"addr1\": \"78686 hjgjgj gjh\",\n \"addr2\": \"hkjhk 7777\",\n \"addr3\": \"\",\n \"city\": \"city\",\n \"state\": \"GA\",\n \"zip\": \"30303\",\n \"phone\": \"7707892072\",\n \"contracted_date\": null,\n \"primary_phone\": \"7707892072\",\n \"payment_token\": null,\n \"primary_email\": \"rtaylor82@gmail.com\",\n \"primary_name\": \"Ryan Taylor\"\n },"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
items:
type: string
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: ''
example:
start_date: '2024-01-01 00:00:00'
nullable: false
properties:
start_date:
type: date
description: 'required_with:filters.end_date The start date for filtering customers in `Y-m-d H:i:s` format. Must be before or equal to filters.end_date.'
example: '2024-01-01 00:00:00'
nullable: false
end_date:
type: date
description: 'required_with:filters.start_date The end date for filtering customers in `Y-m-d H:i:s` format. Must be after or equal to filters.start_date.'
example: '2024-12-31 23:59:59'
nullable: false
/api/merchant/show:
get:
summary: "Show a specific Merchant's Details"
operationId: showASpecificMerchantsDetails
description: 'List all non-protected fields for a merchant. Other fields are available using their specific requests.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
name: 'Kunze, Wolf and Littel'
sid: 1875587019
mcc: null
slug: enim-molestias-quia
pub_api_key: null
processor_mid: null
active: true
active_at: null
g_pay: null
a_pay: null
pci_compliance: null
website: null
addr1: null
addr2: null
city: null
state: null
zip: null
phone: null
primary_phone: null
primary_email: null
primary_name: null
properties:
data:
type: object
properties:
name:
type: string
example: 'Kunze, Wolf and Littel'
sid:
type: integer
example: 1875587019
mcc:
type: string
example: null
slug:
type: string
example: enim-molestias-quia
pub_api_key:
type: string
example: null
processor_mid:
type: string
example: null
active:
type: boolean
example: true
active_at:
type: string
example: null
g_pay:
type: string
example: null
a_pay:
type: string
example: null
pci_compliance:
type: string
example: null
website:
type: string
example: null
addr1:
type: string
example: null
addr2:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip:
type: string
example: null
phone:
type: string
example: null
primary_phone:
type: string
example: null
primary_email:
type: string
example: null
primary_name:
type: string
example: null
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
items:
type: string
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'ID of merchant account processing the charge.'
example: '1234567'
nullable: false
required:
- sid
/api/merchant/create:
post:
summary: 'Create Merchant'
operationId: createMerchant
description: 'Create a merchant record which can be used for generating an application.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
name: 'Tremblay, Stanton and Kuhlman'
sid: 502528144
mcc: null
slug: beatae-voluptas-ipsum-qui
pub_api_key: null
processor_mid: null
active: true
active_at: null
g_pay: null
a_pay: null
pci_compliance: null
website: null
addr1: null
addr2: null
city: null
state: null
zip: null
phone: null
primary_phone: null
primary_email: null
primary_name: null
properties:
data:
type: object
properties:
name:
type: string
example: 'Tremblay, Stanton and Kuhlman'
sid:
type: integer
example: 502528144
mcc:
type: string
example: null
slug:
type: string
example: beatae-voluptas-ipsum-qui
pub_api_key:
type: string
example: null
processor_mid:
type: string
example: null
active:
type: boolean
example: true
active_at:
type: string
example: null
g_pay:
type: string
example: null
a_pay:
type: string
example: null
pci_compliance:
type: string
example: null
website:
type: string
example: null
addr1:
type: string
example: null
addr2:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip:
type: string
example: null
phone:
type: string
example: null
primary_phone:
type: string
example: null
primary_email:
type: string
example: null
primary_name:
type: string
example: null
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Failed validation'
type: object
example:
errors:
data.phone:
- 'The data.phone field is required.'
properties:
errors:
type: object
properties:
data.phone:
type: array
example:
- 'The data.phone field is required.'
items:
type: string
-
description: 'Merchant not created'
type: object
example:
data:
message: 'Something went wrong: contact Dime Payments Rep'
properties:
data:
type: object
properties:
message:
type: string
example: 'Something went wrong: contact Dime Payments Rep'
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
name: 'Acme Inc'
nullable: false
properties:
name:
type: string
description: 'The name of the Merchant. Avoid special characters like \ or ''.'
example: 'Acme Inc'
nullable: false
slug:
type: string
description: 'Must be unique and HTML URL Compliant.'
example: acme-inc
nullable: false
mcc:
type: integer
description: 'Must be 4 digits and pre-approved by Dime Payments.'
example: 8661
nullable: false
processor_config_one:
type: string
description: 'Must be on approved list, this is provided by your Dime Payments Rep.'
example: Tier1
nullable: false
website:
type: string
description: 'Must be a valid full URL.'
example: 'https://acme-inc.com'
nullable: false
addr1:
type: string
description: 'Address line 1 of the Merchant.'
example: '123 4th Street'
nullable: false
addr2:
type: string
description: 'optional Address line 2 of the Merchant.'
example: 'Suite 5'
nullable: false
city:
type: string
description: 'The city of the Merchant.'
example: Alpharetta
nullable: false
state:
type: string
description: 'The state abbreviation of teh Merchant.'
example: GA
nullable: false
zip:
type: integer
description: 'The 5-digit zip of the Merchant.'
example: 30009
nullable: false
phone:
type: string
description: 'The main phone number for the Merchant in e164 format.'
example: '+177012345678'
nullable: false
primary_name:
type: string
description: 'The full name of the main contact for the Merchant.'
example: 'John Doe'
nullable: false
primary_email:
type: string
description: 'The email of the main contact for the Merchant.'
example: john@acme.com
nullable: false
primary_phone:
type: string
description: 'The phone of the main contact for the Merchant in e164 format.'
example: '+140412345678'
nullable: false
industry:
type: string
description: 'Must be a supported Industry name, contact Dime Payments Rep for values.'
example: Church
nullable: false
required:
- name
- slug
- mcc
- processor_config_one
- website
- addr1
- city
- state
- zip
- phone
- primary_name
- primary_email
- primary_phone
- industry
/api/merchant/update:
patch:
summary: "Update a specific Merchant's Details"
operationId: updateASpecificMerchantsDetails
description: "Update a Merchant's details."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
name: Russel-Metz
sid: 2043666377
mcc: null
slug: ut-molestiae-voluptatem-aut
pub_api_key: null
processor_mid: null
active: true
active_at: null
g_pay: null
a_pay: null
pci_compliance: null
website: null
addr1: null
addr2: null
city: null
state: null
zip: null
phone: null
primary_phone: null
primary_email: null
primary_name: null
properties:
data:
type: object
properties:
name:
type: string
example: Russel-Metz
sid:
type: integer
example: 2043666377
mcc:
type: string
example: null
slug:
type: string
example: ut-molestiae-voluptatem-aut
pub_api_key:
type: string
example: null
processor_mid:
type: string
example: null
active:
type: boolean
example: true
active_at:
type: string
example: null
g_pay:
type: string
example: null
a_pay:
type: string
example: null
pci_compliance:
type: string
example: null
website:
type: string
example: null
addr1:
type: string
example: null
addr2:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip:
type: string
example: null
phone:
type: string
example: null
primary_phone:
type: string
example: null
primary_email:
type: string
example: null
primary_name:
type: string
example: null
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Failed validation'
type: object
example:
errors:
data.phone:
- 'The data.phone field is required.'
properties:
errors:
type: object
properties:
data.phone:
type: array
example:
- 'The data.phone field is required.'
items:
type: string
-
description: 'Merchant not created'
type: object
example:
data:
message: 'Something went wrong: contact Dime Payments Rep'
properties:
data:
type: object
properties:
message:
type: string
example: 'Something went wrong: contact Dime Payments Rep'
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: 99
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant to update.'
example: 99
nullable: false
name:
type: string
description: 'The name of the Merchant. Avoid special characters like \ or ''.'
example: 'Acme Inc'
nullable: false
slug:
type: string
description: 'Must be unique and HTML URL Compliant.'
example: acme-inc
nullable: false
mcc:
type: integer
description: 'Must be 4 digits and pre-approved by Dime Payments.'
example: 8661
nullable: false
processor_config_one:
type: string
description: 'Must be on approved list, this is provided by your Dime Payments Rep.'
example: Tier1
nullable: false
website:
type: string
description: 'Must be a valid full URL.'
example: 'https://acme-inc.com'
nullable: false
addr1:
type: string
description: 'Address line 1 of the Merchant.'
example: '123 4th Street'
nullable: false
addr2:
type: string
description: 'optional Address line 2 of the Merchant.'
example: 'Suite 5'
nullable: false
city:
type: string
description: 'The city of the Merchant.'
example: Alpharetta
nullable: false
state:
type: string
description: 'The state abbreviation of teh Merchant.'
example: GA
nullable: false
zip:
type: integer
description: 'The 5-digit zip of the Merchant.'
example: 30009
nullable: false
phone:
type: string
description: 'The main phone number for the Merchant in e164 format.'
example: '+177012345678'
nullable: false
primary_name:
type: string
description: 'The full name of the main contact for the Merchant.'
example: 'John Doe'
nullable: false
primary_email:
type: string
description: 'The email of the main contact for the Merchant.'
example: john@acme.com
nullable: false
primary_phone:
type: string
description: 'The phone of the main contact for the Merchant in e164 format.'
example: '+140412345678'
nullable: false
industry:
type: string
description: 'Must be a supported Industry name, contact Dime Payments Rep for values.'
example: Church
nullable: false
required:
- sid
- name
- slug
- mcc
- processor_config_one
- website
- addr1
- city
- state
- zip
- phone
- primary_name
- primary_email
- primary_phone
- industry
/api/merchant/get-form-link:
get:
summary: 'Get a unique, secure link to the signup application for a Merchant.'
operationId: getAUniqueSecureLinkToTheSignupApplicationForAMerchant
description: "Passed a merchant's ID, returns a full URL to the application for processor\napproval. This link expires in 48 hours."
parameters: []
responses:
200:
description: Success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"link\": \"https://app.dimepayments.com/some/link\",\n }"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
data.sid:
- 'The data.sid field is required.'
properties:
errors:
type: object
properties:
data.sid:
type: array
example:
- 'The data.sid field is required.'
items:
type: string
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: 69
nullable: false
properties:
sid:
type: integer
description: 'The unique SID of the Merchant.'
example: 69
nullable: false
required:
- sid
/api/transactions:
get:
summary: 'List Transactions'
operationId: listTransactions
description: 'Retrieves a list of transactions for a given Merchant, filtered by various parameters.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC Pending\",\n \"transaction_status_description\": \"A transaction that has not cleared yet\",\n \"transaction_number\": \"\",\n \"amount\": \"25.0000\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"68d9feaa-04a9-4c48-8c00-a0b79c8b2f70\",\n \"multi_use_token\": \"\",\n \"pending\": true,\n \"billing_address\": {\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"addr1\": \"\",\n \"addr2\": \"\",\n \"city\": \"\",\n \"state\": \"\",\n \"zip\": \"\"\n },\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC Pending\",\n \"transaction_status_description\": \"A transaction that has not cleared yet\",\n \"transaction_number\": \"\",\n \"amount\": \"25.0000\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"68d9feaa-04a9-4c48-8c00-a0b79c8b2f70\",\n \"multi_use_token\": \"\",\n \"pending\": true,\n \"billing_address\": {\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"addr1\": \"\",\n \"addr2\": \"\",\n \"city\": \"\",\n \"state\": \"\",\n \"zip\": \"\"\n }\n }\n ]\n}"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
items:
type: string
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate association'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '12345'
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
start_date: '2021-01-01 00:00:00'
nullable: false
properties:
start_date:
type: date
description: 'The start date for filtering transactions in `Y-m-d H:i:s` format.'
example: '2021-01-01 00:00:00'
nullable: false
end_date:
type: date
description: 'The end date for filtering transactions in `Y-m-d H:i:s` format.'
example: '2021-12-31 23:59:59'
nullable: false
sweep_id:
type: string
description: 'The sweep ID of the transaction.'
example: 'sweep_123*'
nullable: false
customer_uuid:
type: string
description: 'The customer UUID associated with the transaction.'
example: cust_456
nullable: false
/api/transaction/charge-card:
post:
summary: 'Charge a Credit Card'
operationId: chargeACreditCard
description: "This endpoint allows you to charge a credit card using the PAN Data or a Token. This endpoint will process the charge and return a token\nrepresenting the card that can be used for transactions as well as the transactionId and the customerUUID if requested.\nIf you pass a customer UUID or a customer phone number, then a customer record will be created or retrieved if it already exists, also making the customer UUID available for the purpose of associating charges to a customer.\nYou must be PCI Compliant (have an AoC on file with Dime Payments) to process PAN Data. A token can optionally be provided to process charges without requiring PCI compliance as no PAN data is being sent."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
amount: '1.00'
transaction_type: 'Credit Card'
transactionNumber: '1234567890'
description: 'a memo concerning this transaction'
status_code: '00'
status_text: APPROVAL
multi_use_token: abcdefg123456790
billing_address:
first_name: Jamie
last_name: Doe
addr1: '1 Lakeshore Dr'
addr2: 'Suite 100'
city: Chicago
state: IL
zip: '60601'
properties:
data:
type: object
properties:
amount:
type: string
example: '1.00'
description: 'The amount of the transaction in USD.'
enum: []
transaction_type:
type: string
example: 'Credit Card'
description: 'ACH or Credit Card.'
enum: []
transactionNumber:
type: string
example: '1234567890'
description: 'The unique transaction used for referencing in the future.'
enum: []
description:
type: string
example: 'a memo concerning this transaction'
description: 'The original memo field.'
enum: []
status_code:
type: string
example: '00'
status_text:
type: string
example: APPROVAL
description: 'Response text from processor.'
enum: []
multi_use_token:
type: string
example: abcdefg123456790
description: 'A token used to charge against a stored credit card.'
enum: []
billing_address:
type: object
properties:
first_name:
type: string
example: Jamie
description: 'The first name field.'
enum: []
last_name:
type: string
example: Doe
description: 'The last name field.'
enum: []
addr1:
type: string
example: '1 Lakeshore Dr'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'Suite 100'
description: 'The second address line.'
enum: []
city:
type: string
example: Chicago
description: 'The city field.'
enum: []
state:
type: string
example: IL
description: 'The state field.'
enum: []
zip:
type: string
example: '60601'
description: 'The zip field.'
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
errors:
sid:
- 'The sid is required.'
properties:
errors:
type: object
properties:
sid:
type: array
example:
- 'The sid is required.'
items:
type: string
-
description: ''
type: object
example:
data:
amount: '1.00'
transaction_type: 'Credit Card'
transactionNumber: '1234567890'
description: 'a memo concerning this transaction'
status_code: '05'
status_text: DECLINE
billing_address:
first_name: Jamie
last_name: Doe
addr1: '1 Lakeshore Dr'
addr2: 'Suite 100'
city: Chicago
state: IL
zip: '60601'
properties:
data:
type: object
properties:
amount:
type: string
example: '1.00'
description: 'The amount of the transaction in USD.'
enum: []
transaction_type:
type: string
example: 'Credit Card'
description: 'ACH or Credit Card.'
enum: []
transactionNumber:
type: string
example: '1234567890'
description: 'The unique transaction used for referencing in the future.'
enum: []
description:
type: string
example: 'a memo concerning this transaction'
description: 'The original memo field.'
enum: []
status_code:
type: string
example: '05'
status_text:
type: string
example: DECLINE
description: 'Response text from processor.'
enum: []
billing_address:
type: object
properties:
first_name:
type: string
example: Jamie
description: 'The first name field.'
enum: []
last_name:
type: string
example: Doe
description: 'The last name field.'
enum: []
addr1:
type: string
example: '1 Lakeshore Dr'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'Suite 100'
description: 'The second address line.'
enum: []
city:
type: string
example: Chicago
description: 'The city field.'
enum: []
state:
type: string
example: IL
description: 'The state field.'
enum: []
zip:
type: string
example: '60601'
description: 'The zip field.'
enum: []
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'ID of merchant account processing the charge.'
example: '1234567'
nullable: false
phone:
type: phone
description: 'Must be the phone number in e164 format.'
example: '+177012345678'
nullable: false
uuid:
type: string
description: 'The UUID of the customer record.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
email:
type: 'email:rfc'
description: 'The email of a customer. Max: 50.'
example: hettinger.liam@example.org
nullable: false
memo:
type: string
description: 'A string containing memo related information, such as an invoice ID. Max: 120.'
example: facere
nullable: false
token:
type: string
description: 'An optional token to be used to reference a stored card for processing'
example: rerum
nullable: false
cardholder_name:
type: string
description: 'The name of the cardholder. Max: 50.'
example: 'John Doe'
nullable: false
card_number:
type: numeric
description: 'The credit card number. Min: 15. Max: 16.'
example: veniam
nullable: false
expiration_date:
type: string
description: 'Expiration date of the card, in the form mm/YYYY.'
example: 01/2025
nullable: false
cvv:
type: numeric
description: "optional The card's CVV. Min: 3, Max: 4."
example: '123'
nullable: false
billing_address:
type: object
description: ''
example:
addr1: '1234 Main St'
nullable: false
properties:
addr1:
type: string
description: "The cardholder's address line 1. Max: 55."
example: '1234 Main St'
nullable: false
addr2:
type: string
description: "The cardholder's address line 2. Max: 55."
example: 'Suite 100'
nullable: false
city:
type: string
description: "The cardholder's city. Max: 55."
example: Atlanta
nullable: false
state:
type: string
description: "The cardholder's state. Max: 2."
example: NY
nullable: false
zip:
type: numeric
description: "The cardholder's ZIP code. Digits: 5."
example: '10001'
nullable: false
required:
- zip
required:
- sid
- cardholder_name
/api/transaction/charge-ach:
post:
summary: 'Charge a Bank Account'
operationId: chargeABankAccount
description: ''
parameters: []
responses:
200:
description: 'Successful Transaction'
content:
application/json:
schema:
type: object
example:
data:
transaction_type: ACH
transaction_number: '130'
amount: '25'
description: ''
status_code: '00'
status_text: Success
email: test@test.com
phone: ''
customer_uuid: ''
multi_use_token: ''
pending: false
billing_address:
first_name: First
last_name: Last
addr1: '12 Street Ave'
addr2: 'Suite 123'
city: Boulder
state: CO
zip: '80302'
properties:
data:
type: object
properties:
transaction_type:
type: string
example: ACH
description: 'ACH or Credit Card.'
enum: []
transaction_number:
type: string
example: '130'
description: 'The unique transaction used for referencing in the future.'
enum: []
amount:
type: string
example: '25'
description: 'The amount of the transaction in USD.'
enum: []
description:
type: string
example: ''
description: 'The original memo field.'
enum: []
status_code:
type: string
example: '00'
description: 'Response code from processor.'
enum: []
status_text:
type: string
example: Success
description: 'Response text from processor.'
enum: []
email:
type: string
example: test@test.com
description: 'The email address.'
enum: []
phone:
type: string
example: ''
description: 'The phone number.'
enum: []
customer_uuid:
type: string
example: ''
description: "The customer's UUID."
enum: []
multi_use_token:
type: string
example: ''
description: Not
enum: []
pending:
type: boolean
example: false
billing_address:
type: object
properties:
first_name:
type: string
example: First
description: 'The first name field.'
enum: []
last_name:
type: string
example: Last
description: 'The last name field.'
enum: []
addr1:
type: string
example: '12 Street Ave'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'Suite 123'
description: 'The second address line.'
enum: []
city:
type: string
example: Boulder
description: 'The city field.'
enum: []
state:
type: string
example: CO
description: 'The state field.'
enum: []
zip:
type: string
example: '80302'
description: 'The zip field.'
enum: []
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
data.amount:
- 'The data.amount field is required.'
data.account_type:
- 'The selected data.account_type is invalid.'
properties:
errors:
type: object
properties:
data.amount:
type: array
example:
- 'The data.amount field is required.'
items:
type: string
data.account_type:
type: array
example:
- 'The selected data.account_type is invalid.'
items:
type: string
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate association'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'The ID of merchant account processing the charge.'
example: '1234567'
nullable: false
account_number:
type: string
description: 'The bank account number. Max: 50.'
example: '91828382'
nullable: false
routing_number:
type: string
description: 'The bank account routing number. Max: 9.'
example: '123456789'
nullable: false
account_type:
type: string
description: 'Must be Checking or Savings.'
example: Checking
nullable: false
account_name:
type: string
description: 'The name on the bank account. Max: 50.'
example: 'Acme Inc.'
nullable: false
amount:
type: number
description: 'The transaction amount.'
example: 99.19
nullable: false
customer_uuid:
type: string
description: "optional The unique UUID of the merchant's customer."
example: 12312312-123123123-1231231231
nullable: false
memo:
type: string
description: 'optional The memo field. Max: 120.'
example: 'payment for something'
nullable: false
billing_address:
type: object
description: ''
example:
first_name: Ryan
nullable: false
properties:
first_name:
type: string
description: 'The first name. Max: 50.'
example: Ryan
nullable: false
last_name:
type: string
description: 'The first name. Max: 50.'
example: Taylor
nullable: false
addr1:
type: integer
description: 'optional The first address line. Max: 31.'
example: 123
nullable: false
addr2:
type: integer
description: 'optional The second address line. Max: 31.'
example: 0
nullable: false
city:
type: integer
description: 'optional The city. Max: 52.'
example: 0
nullable: false
state:
type: integer
description: 'optional The state. Max: 2.'
example: 0
nullable: false
zip:
type: integer
description: 'optional The zip code. Max: 5.'
example: 30009
nullable: false
required:
- sid
- account_number
- routing_number
- account_type
- account_name
- amount
/api/transaction/tokenize-card:
post:
summary: 'Tokenize a Credit Card'
operationId: tokenizeACreditCard
description: 'This endpoint allows you to tokenize a credit card, which will verify its validity and return a token representing the card that can be used for transactions. This method requires PCI compliance on the part of the affiliate or merchant.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
token: abcd1234
properties:
data:
type: object
properties:
token:
type: string
example: abcd1234
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
errors:
card_number:
- 'The card number must be a number.'
properties:
errors:
type: object
properties:
card_number:
type: array
example:
- 'The card number must be a number.'
items:
type: string
-
description: ''
type: object
example:
data:
message: 'Validation of card failed.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Validation of card failed.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'The ID of merchant account processing the charge.'
example: '1234567'
nullable: false
cardholder_name:
type: string
description: 'The name of the cardholder. Max: 50.'
example: 'John Doe'
nullable: false
card_number:
type: numeric
description: 'The 15/16-digit credit card number.'
example: '1234567812345678'
nullable: false
expiration_date:
type: string
description: 'Expiry date of the card, in the form mm/YYYY.'
example: 01/2025
nullable: false
cvv:
type: numeric
description: "optional The card's CVV. Min: 3, Max: 4."
example: '123'
nullable: false
billing_address:
type: object
description: ''
example:
addr1: '1234 Main St'
nullable: false
properties:
addr1:
type: string
description: "The cardholder's address line 1. Can be empty string Max: 55."
example: '1234 Main St'
nullable: false
addr2:
type: string
description: "The cardholder's address line 2. Max: 55."
example: 'Suite 100'
nullable: false
city:
type: string
description: "The cardholder's city.Can be empty string Max: 55."
example: 'New York'
nullable: false
state:
type: string
description: "The cardholder's state.Can be empty string Max: 2."
example: NY
nullable: false
zip:
type: numeric
description: "The cardholder's ZIP code. Digits: 5."
example: '10001'
nullable: false
required:
- addr1
- city
- state
- zip
required:
- sid
- cardholder_name
- card_number
- expiration_date
/api/transaction:
get:
summary: 'Show Transaction'
operationId: showTransaction
description: ''
parameters: []
responses:
200:
description: 'Successful Refund'
content:
application/json:
schema:
type: object
example:
data:
transaction_type: CC
transaction_status: 'CC Pending'
transaction_status_description: 'A cc transaction that is pending'
transaction_number: '1231'
amount: '25.0000'
description: ''
status_code: ''
status_text: ''
email: ''
phone: ''
customer_uuid: 68d9feaa-04a9-4c48-8c00-a0b79c8b2f70
multi_use_token: ''
pending: true
billing_address:
first_name: ''
last_name: ''
addr1: ''
addr2: ''
city: ''
state: ''
zip: ''
properties:
data:
type: object
properties:
transaction_type:
type: string
example: CC
description: 'Transaction type. Example: Checking'
enum: []
transaction_status:
type: string
example: 'CC Pending'
description: 'Transaction Status. Example: CC Pending'
enum: []
transaction_status_description:
type: string
example: 'A cc transaction that is pending'
description: 'Transaction Status Description explaining the status. Example: A credit card transaction that has not settled yet.'
enum: []
transaction_number:
type: string
example: '1231'
amount:
type: string
example: '25.0000'
description: 'Transaction amount. Example: $120.00'
enum: []
description:
type: string
example: ''
description: 'Transaction type. Example: Checking'
enum: []
status_code:
type: string
example: ''
status_text:
type: string
example: ''
email:
type: string
example: ''
phone:
type: string
example: ''
customer_uuid:
type: string
example: 68d9feaa-04a9-4c48-8c00-a0b79c8b2f70
description: "The unique UUID of the merchant's customer."
enum: []
multi_use_token:
type: string
example: ''
pending:
type: boolean
example: true
billing_address:
type: object
properties:
first_name:
type: string
example: ''
description: 'The first name field.'
enum: []
last_name:
type: string
example: ''
description: 'The last name field.'
enum: []
addr1:
type: string
example: ''
description: 'The first address line.'
enum: []
addr2:
type: string
example: ''
description: 'The second address line.'
enum: []
city:
type: string
example: ''
description: 'The city field.'
enum: []
state:
type: string
example: ''
description: 'The state field.'
enum: []
zip:
type: string
example: ''
description: 'The zip field.'
enum: []
400:
description: 'Field Validation Failed'
content:
text/plain:
schema:
type: string
example: '{"errors": {"data.sid": ["The data.sid is not the correct format."]}'
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Invalid API Key Permission'
type: string
example: '{"data": "message": "Permission Denied."}}'
-
description: 'User perm issue'
type: string
example: '{"data": "message": "User not associated with the affiliate."}}'
404:
description: 'No transaction found'
content:
application/json:
schema:
type: object
example:
data:
message: 'No transaction found'
properties:
data:
type: object
properties:
message:
type: string
example: 'No transaction found'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'The ID of the merchant that processed the transaction.'
example: '1234567'
nullable: false
transaction_info_id:
type: numeric
description: 'sometimes The transaction info id which is unique only against the SID of the merchant, and ties across all other reporting objects such as transactions.'
example: '6789131231'
nullable: false
att_number:
type: numeric
description: 'sometimes The ID of an ACH transaction.'
example: quo
nullable: false
gateway_transaction_id:
type: numeric
description: 'sometimes The ID of a Credit Card transaction.'
example: dolor
nullable: false
transaction_type:
type: string
description: 'Must be either "CC" or "ACH".'
example: ACH
nullable: false
required:
- sid
- transaction_type
/api/transaction/refund:
post:
summary: 'Refund Transaction'
operationId: refundTransaction
description: 'Processes a refund for a transaction based on the provided data.'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: Success
type: string
example: '{"data": { "message" : "refund"}'
-
description: Success
type: string
example: '{"data": { "message" : "void"}'
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
errors:
data.sid:
- 'The sid field is required.'
data.transaction_info_id:
- 'The selected transaction_info_id is invalid.'
properties:
errors:
type: object
properties:
data.sid:
type: array
example:
- 'The sid field is required.'
items:
type: string
data.transaction_info_id:
type: array
example:
- 'The selected transaction_info_id is invalid.'
items:
type: string
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
-
description: ''
type: object
example:
data:
message: 'Error processing refund'
properties:
data:
type: object
properties:
message:
type: string
example: 'Error processing refund'
-
description: ''
type: object
example:
data:
message: 'Unsupported processor.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Unsupported processor.'
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'The ID of merchant that processed the transaction.'
example: '1234567'
nullable: false
amount:
type: numeric
description: 'The amount to be refunded. Must be greater than 0 and less than the total amount of transaction.'
example: '100.50'
nullable: false
transaction_info_id:
type: numeric
description: 'The transaction info id which is unique only against the SID of the merchant, and ties across all other reporting objects such as transactions.'
example: '6789131231'
nullable: false
transaction_type:
type: string
description: 'Only required if not passing transaction_info_id. The transaction type which should be either CC or ACH.'
example: CC
nullable: false
transaction_id:
type: numeric
description: 'Only required if not passing transaction_info_id. The transaction_id which is returned when processing a card or ach account.'
example: '6789131231'
nullable: false
required:
- sid
- amount
- transaction_info_id
- transaction_type
- transaction_id
/api/transaction/void:
patch:
summary: 'Void Transaction'
operationId: voidTransaction
description: 'Void a transaction'
parameters: []
responses:
200:
description: 'Successful Transaction'
content:
text/plain:
schema:
type: string
example: '{"data": "message" : "Transaction voided successfully"}}'
400:
description: 'Field Validation Failed'
content:
text/plain:
schema:
type: string
example: '{"errors": {"data.sid": ["The data.sid is not the correct format."]}'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Bad API Key Permission'
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: 'User perm issue'
type: object
example:
data:
message: 'User not associated with the affiliate.'
properties:
data:
type: object
properties:
message:
type: string
example: 'User not associated with the affiliate.'
tags:
- 'Transaction management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'Must be unique to the Merchant and less than 150 digits.'
example: '91828382'
nullable: false
transaction_type:
type: string
description: 'Must be either "CC" or "ACH".'
example: ACH
nullable: false
transaction_id:
type: numeric
description: 'Must be unique to the transaction.'
example: '123'
nullable: false
required:
- sid
- transaction_type
- transaction_id
required:
- data
/api/customer/list:
get:
summary: 'List Customers'
operationId: listCustomers
description: 'Retrieves a list of customers for a given company, filtered by various parameters.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: John
last_name: Doe
company_name: 'Acme Inc.'
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
-
id: 2
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: Jane
last_name: Doe
company_name: ''
phone: '+17707893333'
email: another@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
links:
prev: null
next: null
meta:
path: 'http://relictum.test/api/customers'
per_page: 500
next_cursor: null
prev_cursor: null
properties:
data:
type: array
example:
-
id: 1
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: John
last_name: Doe
company_name: 'Acme Inc.'
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
-
id: 2
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: Jane
last_name: Doe
company_name: ''
phone: '+17707893333'
email: another@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
items:
type: object
properties:
id:
type: integer
example: 1
description: 'Unique field that is not used anywhere else. Can be ignored.'
enum: []
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: John
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: Doe
description: 'The last name of the customer.'
enum: []
company_name:
type: string
example: 'Acme Inc.'
description: 'Merchant name of customer'
enum: []
phone:
type: string
example: '+17707892222'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: an-email@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: ''
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
last_login_at:
type: string
example: '2024-08-30T13:08:19.000000Z'
description: 'Date string showing when this customer logged into Dime Payments last'
enum: []
last_login_ip:
type: string
example: 127.0.0.1
description: 'The IP address the customer last logged into Dime Payments from'
enum: []
links:
type: object
properties:
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
path:
type: string
example: 'http://relictum.test/api/customers'
per_page:
type: integer
example: 500
next_cursor:
type: string
example: null
prev_cursor:
type: string
example: null
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: 12345
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
start_date: '2024-01-01 00:00:00'
nullable: false
properties:
start_date:
type: date
description: 'required_with:filters.end_date The start date for filtering customers in `Y-m-d H:i:s` format. Must be before or equal to filters.end_date.'
example: '2024-01-01 00:00:00'
nullable: false
end_date:
type: date
description: 'required_with:filters.start_date The end date for filtering customers in `Y-m-d H:i:s` format. Must be after or equal to filters.start_date.'
example: '2024-12-31 23:59:59'
nullable: false
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
/api/customer/show:
get:
summary: 'Show Customer'
operationId: showCustomer
description: "Show a specific customer's details"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 6179c86e-373b-4b9f-8110-d81a478fac76
first_name: Ruthe
last_name: Price
phone: '+13218056029'
email: kennedy26@example.com
addr1: "91022 Madalyn Run\nDewaynebury, GA 89415"
addr2: "3290 Fern Station\nEast Favian, AZ 33320"
addr3: "683 Edyth Loop Suite 468\nPort Rosannachester, DC 03278-4547"
city: Halvorsonberg
state: GA
zip: 86327-0701
country: Jordan
properties:
data:
type: object
properties:
uuid:
type: string
example: 6179c86e-373b-4b9f-8110-d81a478fac76
description: 'Unique User ID of customer'
enum: []
first_name:
type: string
example: Ruthe
description: 'First name of customer'
enum: []
last_name:
type: string
example: Price
description: 'Last name of customer'
enum: []
phone:
type: string
example: '+13218056029'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: kennedy26@example.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: "91022 Madalyn Run\nDewaynebury, GA 89415"
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: "3290 Fern Station\nEast Favian, AZ 33320"
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: "683 Edyth Loop Suite 468\nPort Rosannachester, DC 03278-4547"
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: Halvorsonberg
description: "Customer's"
enum: []
state:
type: string
example: GA
description: "Customer's"
enum: []
zip:
type: string
example: 86327-0701
description: "Customer's"
enum: []
country:
type: string
example: Jordan
description: "Customer's"
enum: []
-
description: 'Successful Listing'
type: object
example:
data:
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: ''
last_name: ''
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'Unique User ID of customer'
enum: []
first_name:
type: string
example: ''
description: 'First name of customer'
enum: []
last_name:
type: string
example: ''
description: 'Last name of customer'
enum: []
phone:
type: string
example: '+17707892222'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: an-email@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: ''
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: 12345
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
phone: '+15555555555'
nullable: false
properties:
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
uuid:
type: string
description: 'A UUID to filter customers by. Must comply with UUID format.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
/api/customer/create:
post:
summary: 'Create Customer'
operationId: createCustomer
description: 'Create a customer record linked to your Company/Merchant.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: f9ec3a10-12e4-4cb1-b1f4-adaf274b0c2a
first_name: Jeanne
last_name: Kutch
phone: '+16896399175'
email: tatum15@example.com
addr1: "72084 Mariane Green Apt. 112\nLake Bonita, MA 78247-6500"
addr2: "21528 Krajcik Burg\nWest Shaneton, AL 77892"
addr3: "9915 Marks Burg\nJerdeview, FL 81993-7386"
city: 'East Hailiechester'
state: GA
zip: 28820-4070
country: Indonesia
properties:
data:
type: object
properties:
uuid:
type: string
example: f9ec3a10-12e4-4cb1-b1f4-adaf274b0c2a
description: 'The uuid of the customer.'
enum: []
first_name:
type: string
example: Jeanne
description: 'required The first name of the customer.'
enum: []
last_name:
type: string
example: Kutch
description: 'required The last name of the customer.'
enum: []
phone:
type: string
example: '+16896399175'
description: 'required The phone number of the customer.'
enum: []
email:
type: string
example: tatum15@example.com
description: "required Customer's email."
enum: []
addr1:
type: string
example: "72084 Mariane Green Apt. 112\nLake Bonita, MA 78247-6500"
description: "Customer's address line 1"
enum: []
addr2:
type: string
example: "21528 Krajcik Burg\nWest Shaneton, AL 77892"
description: "Customer's address line 2"
enum: []
addr3:
type: string
example: "9915 Marks Burg\nJerdeview, FL 81993-7386"
description: "Customer's address line 3"
enum: []
city:
type: string
example: 'East Hailiechester'
description: "Customer's"
enum: []
state:
type: string
example: GA
description: "Customer's"
enum: []
zip:
type: string
example: 28820-4070
description: "Customer's"
enum: []
country:
type: string
example: Indonesia
description: "Customer's"
enum: []
-
description: 'Customer created'
type: object
example:
data:
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: John
last_name: Doe
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'The uuid of the customer.'
enum: []
first_name:
type: string
example: John
description: 'required The first name of the customer.'
enum: []
last_name:
type: string
example: Doe
description: 'required The last name of the customer.'
enum: []
phone:
type: string
example: '+17707892222'
description: 'required The phone number of the customer.'
enum: []
email:
type: string
example: an-email@gmail.com
description: "required Customer's email."
enum: []
addr1:
type: string
example: ''
description: "Customer's address line 1"
enum: []
addr2:
type: string
example: ''
description: "Customer's address line 2"
enum: []
addr3:
type: string
example: ''
description: "Customer's address line 3"
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
message: 'Failed to create Customer'
properties:
message:
type: string
example: 'Failed to create Customer'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
first_name:
type: string
description: "Customer's first name"
example: qui
nullable: false
last_name:
type: string
description: "Customer's last name"
example: aut
nullable: false
company_name:
type: string
description: 'optional Name of Merchant that customer interacts with'
example: ut
nullable: false
phone:
type: required
description: "Customer's unique phone number"
example: vero
nullable: false
email:
type: required
description: "Customer's unique email"
example: karine.farrell@example.net
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: et
nullable: false
addr2:
type: optional
description: "Customer's address line 2"
example: quis
nullable: false
addr3:
type: optional
description: "Customer's address line 3"
example: unde
nullable: false
city:
type: optional
description: "Customer's city"
example: impedit
nullable: false
state:
type: optional
description: "Customer's state"
example: cumque
nullable: false
zip:
type: optional
description: "Customer's zip code"
example: ipsa
nullable: false
required:
- sid
- first_name
- last_name
required:
- data
/api/customer/update:
patch:
summary: 'Update Customer'
operationId: updateCustomer
description: "Update a customer record. Make changes to the customer referenced by UUID, phone number, or email. One of the\nfilters is required to be provided to select a unique customer. Only pass the fields that require updating in\nthe data object."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 287ef423-79c5-4b52-b48b-8fb9189c905c
first_name: Cali
last_name: Sanford
phone: '+19729658798'
email: favian32@example.net
addr1: "2361 Maybelle Loop Apt. 764\nNorth Eldoraland, VT 30202"
addr2: "2553 Kreiger Knoll Apt. 356\nMargaritamouth, OK 45230-9578"
addr3: "878 Cassidy Path Apt. 996\nEast Elmira, SD 65611-8387"
city: Botsfordland
state: GA
zip: 52051-1070
country: Belarus
properties:
data:
type: object
properties:
uuid:
type: string
example: 287ef423-79c5-4b52-b48b-8fb9189c905c
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: Cali
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: Sanford
description: 'The last name of the customer.'
enum: []
phone:
type: string
example: '+19729658798'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: favian32@example.net
description: 'Email address of customer'
enum: []
addr1:
type: string
example: "2361 Maybelle Loop Apt. 764\nNorth Eldoraland, VT 30202"
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: "2553 Kreiger Knoll Apt. 356\nMargaritamouth, OK 45230-9578"
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: "878 Cassidy Path Apt. 996\nEast Elmira, SD 65611-8387"
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: Botsfordland
description: "Customer's"
enum: []
state:
type: string
example: GA
description: "Customer's"
enum: []
zip:
type: string
example: 52051-1070
description: "Customer's"
enum: []
country:
type: string
example: Belarus
description: "Customer's"
enum: []
-
description: 'Successful Listing'
type: object
example:
data:
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: ''
last_name: ''
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: ''
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: ''
description: 'The last name of the customer.'
enum: []
phone:
type: string
example: '+17707892222'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: an-email@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: ''
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: 'One of the filters is required to select a unique customer'
example: []
nullable: false
properties:
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
uuid:
type: string
description: 'A UUID to filter customers by. Must comply with UUID format.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
first_name:
type: optional
description: "Customer's first name"
example: non
nullable: false
last_name:
type: optional
description: "Customer's last name"
example: temporibus
nullable: false
company_name:
type: optional
description: 'Name of Merchant that customer interacts with'
example: pariatur
nullable: false
phone:
type: optional
description: "Customer's unique phone number"
example: minus
nullable: false
email:
type: optional
description: "Customer's unique email"
example: marques34@example.org
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: perspiciatis
nullable: false
addr2:
type: optional
description: "Customer's address line 2"
example: excepturi
nullable: false
addr3:
type: optional
description: "Customer's address line 3"
example: a
nullable: false
city:
type: optional
description: "Customer's city"
example: rerum
nullable: false
state:
type: optional
description: "Customer's state"
example: assumenda
nullable: false
zip:
type: optional
description: "Customer's zip code"
example: culpa
nullable: false
required:
- sid
required:
- filters
- data
/api/customer/delete:
post:
summary: 'Delete Customer'
operationId: deleteCustomer
description: 'Delete a customer record from the selected Merchant. One of the filters is required to select a unique customer'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 1ca42e39-b4f7-4bd6-bb24-8148c57ac93a
first_name: Harley
last_name: Labadie
phone: '+15349100744'
email: lbatz@example.com
addr1: "1538 Jabari Via\nRomaineland, ME 82899-1417"
addr2: "8512 Danielle Square\nWest Earlbury, FL 63985-8386"
addr3: "2238 Lang Trail Suite 565\nNicholauston, IN 68184"
city: Brennaberg
state: GA
zip: '04998'
country: Madagascar
properties:
data:
type: object
properties:
uuid:
type: string
example: 1ca42e39-b4f7-4bd6-bb24-8148c57ac93a
first_name:
type: string
example: Harley
last_name:
type: string
example: Labadie
phone:
type: string
example: '+15349100744'
email:
type: string
example: lbatz@example.com
addr1:
type: string
example: "1538 Jabari Via\nRomaineland, ME 82899-1417"
addr2:
type: string
example: "8512 Danielle Square\nWest Earlbury, FL 63985-8386"
addr3:
type: string
example: "2238 Lang Trail Suite 565\nNicholauston, IN 68184"
city:
type: string
example: Brennaberg
state:
type: string
example: GA
zip:
type: string
example: '04998'
country:
type: string
example: Madagascar
-
description: 'Successful deletion'
type: object
example:
data:
message: 'Customer removed successfully'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer removed successfully'
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: ''
example:
phone: '+15555555555'
nullable: false
properties:
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
uuid:
type: string
description: 'A UUID to filter customers by. Must comply with UUID format.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the merchant.'
example: 12345
nullable: false
first_name:
type: optional
description: "Customer's first name"
example: error
nullable: false
last_name:
type: optional
description: "Customer's last name"
example: eum
nullable: false
company_name:
type: optional
description: 'Name of Merchant that customer belongs to'
example: non
nullable: false
phone:
type: optional
description: "Customer's unique phone number"
example: molestiae
nullable: false
email:
type: optional
description: "Customer's unique email"
example: raymundo83@example.com
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: minima
nullable: false
addr2:
type: optional
description: "Customer's address line 2"
example: minima
nullable: false
addr3:
type: optional
description: "Customer's address line 3"
example: rem
nullable: false
city:
type: optional
description: "Customer's city"
example: ut
nullable: false
state:
type: optional
description: "Customer's state"
example: omnis
nullable: false
zip:
type: optional
description: "Customer's zip code"
example: blanditiis
nullable: false
required:
- sid
required:
- data
/api/deposits:
get:
summary: 'List Deposits'
operationId: listDeposits
description: 'Get Deposits from Merchant Account with supporting transactions'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
application/json:
schema:
type: object
example:
data:
-
transaction_date: '2023-02-17 02:41:04'
fund_date: '2023-02-17 02:41:04'
transaction_info_id: '789846193'
transaction_id: '3'
transaction_detail_account: 0089..9845
authorization_amount: '0.7100'
net_amount: '0.7200'
sweep_id: '125068038'
properties:
data:
type: array
example:
-
transaction_date: '2023-02-17 02:41:04'
fund_date: '2023-02-17 02:41:04'
transaction_info_id: '789846193'
transaction_id: '3'
transaction_detail_account: 0089..9845
authorization_amount: '0.7100'
net_amount: '0.7200'
sweep_id: '125068038'
items:
type: object
properties:
transaction_date:
type: string
example: '2023-02-17 02:41:04'
description: 'The datetime stamp of when the transaction was initiated.'
enum: []
fund_date:
type: string
example: '2023-02-17 02:41:04'
description: 'The datetime stamp of when the funds for the deposit were made available to the merchant.'
enum: []
transaction_info_id:
type: string
example: '789846193'
description: 'The transaction info ID which is unique only against the SID for the merchant and ties across all reporting objects.'
enum: []
transaction_id:
type: string
example: '3'
description: 'The transaction ID, unique only to the SID for the merchant.'
enum: []
transaction_detail_account:
type: string
example: 0089..9845
description: 'The masked first two digits of the routing number and last four digits of the bank account where funds were deposited.'
enum: []
authorization_amount:
type: string
example: '0.7100'
description: 'The amount the transaction was authorized for.'
enum: []
net_amount:
type: string
example: '0.7200'
description: 'The amount the merchant will receive from the transaction after transaction fees.'
enum: []
sweep_id:
type: string
example: '125068038'
description: 'The ID of the sweep the deposit was associated with, which is associated with single transactions and can be used for referencing transactions included in a deposit.'
enum: []
400:
description: 'Malformed Request'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
- 'The filters.start_date field must match the format Y-m-d H:i:s.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
- 'The filters.start_date field must match the format Y-m-d H:i:s.'
items:
type: string
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Incorrect API Key Permission'
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
-
description: 'Not associated with Affiliate'
type: object
example:
message: 'Not associated with Affiliate'
properties:
message:
type: string
example: 'Not associated with Affiliate'
-
description: 'Incorrect SID'
type: object
example:
message: 'The selected data.sid is invalid'
properties:
message:
type: string
example: 'The selected data.sid is invalid'
403:
description: Unauthorized
content:
application/json:
schema:
type: object
example:
message: Unauthorized
properties:
message:
type: string
example: Unauthorized
404:
description: 'No deposits found'
content:
application/json:
schema:
type: object
example:
message: 'No deposits found'
properties:
message:
type: string
example: 'No deposits found'
tags:
- 'Deposit management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '91828382'
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant.'
example: '91828382'
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
start_date: '"2024-04-01 00:00:00"'
nullable: false
properties:
start_date:
type: datetime
description: 'The deposit start date, in UTC, with format: "YYYY-mm-dd 00:00:00"'
example: '"2024-04-01 00:00:00"'
nullable: false
end_date:
type: datetime
description: 'The deposit end date, in UTC, with format: "YYYY-mm-dd 00:00:00"'
example: '"2024-04-01 23:59:59"'
nullable: false
/api/payment-method/create:
post:
summary: 'Create Payment Method for a customer'
operationId: createPaymentMethodForACustomer
description: "This endpoint lets you create a new payment method for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 1
user_id: 1
type: cc
token: xxxxxxxx
default: 1
created_at: '2022-10-01'
updated_at: '2022-10-01'
properties:
data:
type: object
properties:
id:
type: integer
example: 1
user_id:
type: integer
example: 1
type:
type: string
example: cc
token:
type: string
example: xxxxxxxx
default:
type: integer
example: 1
created_at:
type: string
example: '2022-10-01'
updated_at:
type: string
example: '2022-10-01'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission denied'
properties:
message:
type: string
example: 'Permission denied'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Customer not found.'
properties:
message:
type: string
example: 'Customer not found.'
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: ''
example:
phone: '+15551237890'
nullable: false
properties:
phone:
type: string
description: 'Phone number of the customer. Must be in e.164 format.'
example: '+15551237890'
nullable: false
email:
type: string
description: 'Email of the customer. Must be in rfc compliant.'
example: an-email@domain.com
nullable: false
uuid:
type: string
description: 'UUID of the customer. Must be in uuid format.'
example: 3c37db03-dc71-4e8b-90e7-6668290b7c3d
nullable: false
data:
type: object
description: ''
example:
sid: 12345
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
type:
type: string
description: "Type of payment method 'cc' for credit card or 'ach' for bank accounts."
example: cc
nullable: false
token:
type: string
description: "MultiUse Token for credit card type. Required IF type is 'cc' Max: 255."
example: xxxxxxxx
nullable: false
cc_name_on_card:
type: string
description: "The name on the card. Required IF type is 'cc' Max: 255."
example: 'John Doe'
nullable: false
cc_last_four:
type: string
description: "The last 4 digits of card number. Required IF type is 'cc' Max: 255."
example: '7890'
nullable: false
cc_expiration_date:
type: string
description: "The expiration date of card. Required IF type is 'cc' Max: 7."
example: 01/2025
nullable: false
cc_brand:
type: string
description: "The brand of the card. Must be Visa, MasterCard, or Amex. Required IF type is 'cc' Max: 10."
example: Visa
nullable: false
ach_bank_account_name:
type: string
description: "The name on the bank account. Required IF type is 'ach' Max: 50."
example: 'Acme Inc.'
nullable: false
ach_routing_number:
type: string
description: "Routing number for ach type. Required IF type is 'ach' Digits: 9."
example: '123456789'
nullable: false
ach_account_number:
type: string
description: "Account number for ach type. Required IF type is 'ach' Max: 35."
example: '123456789'
nullable: false
ach_ownership_type:
type: string
description: "Ownership type of the account. Must be Personal or Business. Required IF type is 'ach' Max: 35."
example: Personal
nullable: false
ach_account_type:
type: string
description: "Type of the account. Must be Checking or Savings. Required IF type is 'ach' Max: 35."
example: Checking
nullable: false
ach_bank_name:
type: string
description: "The name of the bank. Required IF type is 'ach' Max: 50."
example: 'Wells Fargo'
nullable: false
addr1:
type: string
description: 'Address Line One. Max: 75.'
example: '123 First St.'
nullable: false
addr2:
type: string
description: 'Address Line Two. Max: 50.'
example: 'Suite 111'
nullable: false
city:
type: string
description: 'City name. Max: 75.'
example: Alpharetta
nullable: false
state:
type: string
description: 'Two character State. Max: 2.'
example: GA
nullable: false
zip:
type: string
description: 'Zip code. Digits: 5.'
example: '30009'
nullable: false
required:
- sid
- type
- token
- cc_name_on_card
- cc_last_four
- cc_expiration_date
- cc_brand
- ach_bank_account_name
- ach_routing_number
- ach_account_number
- ach_ownership_type
- ach_account_type
- ach_bank_name
/api/zapier/new-customers:
get:
summary: 'Get New Customers'
operationId: getNewCustomers
description: 'Get a list of all new customers since the last time it was checked.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: Unauthorized
properties:
message:
type: string
example: Unauthorized
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Merchant not found'
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
-
description: 'Transactions not found'
type: object
example:
message: 'No transactions found'
properties:
message:
type: string
example: 'No transactions found'
tags:
- Zapier
/api/zapier/transactions:
get:
summary: 'Get Transactions'
operationId: getTransactions
description: 'Get a list of all transactions for a Merchant'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: 'Permission denied'
properties:
message:
type: string
example: 'Permission denied'
404:
description: 'Merchant not found'
content:
application/json:
schema:
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
tags:
- Zapier
'/api/zapier/transactions/{phone}':
get:
summary: 'Get Transactions by Customer'
operationId: getTransactionsByCustomer
description: "Get a list of all transactions for a given customer using their phone number\n\n "
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
400:
description: ''
content:
text/plain:
schema:
type: string
example: 'scenario"Invalid input data" {"data.message" : "Can only contain last days or start and end date"}'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: 'Permission denied.'
properties:
message:
type: string
example: 'Permission denied.'
404:
description: 'Merchant not found'
content:
application/json:
schema:
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
tags:
- Zapier
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
start_date:
type: Date
description: 'in the form of YYYY-MM-DD'
example: '2020-10-15'
nullable: false
end_date:
type: Date
description: 'in the form of YYYY-MM-DD'
example: '2020-10-15'
nullable: false
last_days:
type: Integer
description: 'number of days'
example: '90'
nullable: false
parameters:
-
in: path
name: phone
description: ''
example: non
required: true
schema:
type: string
/api/zapier/new-transactions:
get:
summary: 'Get Most Recent Transaction'
operationId: getMostRecentTransaction
description: 'Get the most recent transactions details'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: 'Permission denied'
properties:
message:
type: string
example: 'Permission denied'
404:
description: 'Merchant not found'
content:
application/json:
schema:
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
tags:
- Zapier
tags:
-
name: 'Merchant management'
description: ''
-
name: 'Transaction management'
description: "\nAPIs for managing transactions. Depending on API KEY permissions, one should be able to\ncharge credit cards, ACH, Google/Apple Pay wallets along with other functions."
-
name: 'Customer management'
description: "\nAPIs for managing customers. Depending on API KEY permissions, one should be able to\nlist, create, update, and delete customers along with several other customer specific requests."
-
name: 'Deposit management'
description: ''
-
name: 'Payment Method management'
description: "\nAPIs for managing payment methods associated with customers. Depending on API KEY permissions, one should be able to\nlist, create, update, and delete payment methods along with several other payment method specific requests."
-
name: Zapier
description: "\nAPIs for use through Zapier. Depending on API KEY permissions, one should be able to\nsee customers and transactions data."
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token under your profile in top right.'
security:
-
default: []