A simple, basic API for managing Merchants through Dime Payments. JSON based REST API
This documentation aims to provide all the information you need to work with our API.
To authenticate requests, include an Authorization
header with the value "Bearer {YOUR_AUTH_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token under your profile in top right.
Get a list of all merchants and their fields
curl --request GET \
--get "https://app.dimepayments.com/api/merchant/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"name": "Streich, Kub and Steuber",
"sid": "000010",
"mcc": "8661",
"slug": "deleniti-sunt-at-unde",
"pub_api_key": "pub_1zBYuKWfl4hvL71yOt40lM3QfMf",
"processor_mid": null,
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": false,
"website": null,
"addr1": null,
"addr2": null,
"addr3": null,
"city": null,
"state": null,
"zip": null,
"phone": null,
"contracted_date": null,
"primary_phone": null,
"payment_token": null,
"primary_email": null,
"primary_name": null
},
{
"name": "Kling, McGlynn and McKenzie",
"sid": "000002",
"mcc": "8661",
"slug": "sint-inventore-cum-tempore",
"pub_api_key": "pkapi_cert_CjsyGGXamvz9xxcrri",
"processor_mid": "",
"active": true,
"active_at": null,
"g_pay": true,
"a_pay": true,
"pci_compliance": true,
"website": "https:\/\/www.google.com",
"addr1": "78686 hjgjgj gjh",
"addr2": "hkjhk 7777",
"addr3": "",
"city": "city",
"state": "GA",
"zip": "30303",
"phone": "7707892072",
"contracted_date": null,
"primary_phone": "7707892072",
"payment_token": null,
"primary_email": "[email protected]",
"primary_name": "Ryan Taylor"
},
List all non-protected fields for a merchant. Other fields are available using their specific requests.
curl --request GET \
--get "https://app.dimepayments.com/api/merchant/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"name": "O'Conner, Skiles and Strosin",
"sid": "973619044",
"mcc": null,
"slug": "nesciunt-esse-ut",
"pub_api_key": null,
"processor_mid": null,
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": false,
"website": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null,
"phone": null,
"primary_phone": null,
"primary_email": null,
"primary_name": null
}
}
Create a merchant record which can be used for generating an application.
curl --request POST \
"https://app.dimepayments.com/api/merchant/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"name": "Abbott Group",
"sid": "2116135535",
"mcc": null,
"slug": "provident-occaecati-qui-animi",
"pub_api_key": null,
"processor_mid": null,
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": false,
"website": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null,
"phone": null,
"primary_phone": null,
"primary_email": null,
"primary_name": null
}
}
Update a Merchant's details.
curl --request PATCH \
"https://app.dimepayments.com/api/merchant/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"name": "Jakubowski, Mann and Flatley",
"sid": "1407247044",
"mcc": null,
"slug": "aut-dolores-sint-est-repellendus",
"pub_api_key": null,
"processor_mid": null,
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": false,
"website": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null,
"phone": null,
"primary_phone": null,
"primary_email": null,
"primary_name": null
}
}
Passed a merchant's ID, returns a full URL to the application for processor approval. This link expires in 48 hours.
curl --request GET \
--get "https://app.dimepayments.com/api/merchant/get-form-link" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"link": "https://app.dimepayments.com/some/link",
}
APIs for managing transactions. Depending on API KEY permissions, one should be able to charge credit cards, ACH, Google/Apple Pay wallets along with other functions.
Retrieves a list of transactions for a given Merchant, filtered by various parameters.
curl --request GET \
--get "https://app.dimepayments.com/api/transactions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"transaction_type": "CC",
"transaction_status": "CC Pending",
"transaction_status_description": "A transaction that has not cleared yet",
"transaction_number": "",
"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": ""
},
{
"transaction_type": "CC",
"transaction_status": "CC Pending",
"transaction_status_description": "A transaction that has not cleared yet",
"transaction_number": "",
"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": ""
}
}
]
}
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 representing the card that can be used for transactions as well as the transactionId and the customerUUID if requested. If 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. You 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.
curl --request POST \
"https://app.dimepayments.com/api/transaction/charge-card" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"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"
}
}
}
curl --request POST \
"https://app.dimepayments.com/api/transaction/charge-ach" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"transaction_type": "ACH",
"transaction_number": "130",
"amount": "25",
"description": "",
"status_code": "00",
"status_text": "Success",
"email": "[email protected]",
"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"
}
}
}
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.
curl --request POST \
"https://app.dimepayments.com/api/transaction/tokenize-card" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"token": "abcd1234"
}
}
curl --request GET \
--get "https://app.dimepayments.com/api/transaction" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"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": ""
}
}
}
Processes a refund for a transaction based on the provided data.
curl --request POST \
"https://app.dimepayments.com/api/transaction/refund" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{"data": { "message" : "Refund successful"}
Void a transaction
curl --request PATCH \
"https://app.dimepayments.com/api/transaction/void" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"91828382\",
\"transaction_type\": \"ACH\",
\"transaction_id\": \"123\"
}
}"
{"data": "message" : "Transaction voided successfully"}}
APIs for managing customers. Depending on API KEY permissions, one should be able to list, create, update, and delete customers along with several other customer specific requests.
Retrieves a list of customers for a given company, filtered by various parameters.
curl --request GET \
--get "https://app.dimepayments.com/api/customer/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"id": 1,
"uuid": "60dac128-28da-41ae-8632-aee299de13fd",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Inc.",
"phone": "+17707892222",
"email": "[email protected]",
"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": "[email protected]",
"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
}
}
Show a specific customer's details
curl --request GET \
--get "https://app.dimepayments.com/api/customer/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"uuid": "3e046159-4e3e-48d4-8003-3b5c5541252f",
"first_name": "Kenna",
"last_name": "Spinka",
"phone": "+12707888830",
"email": "[email protected]",
"addr1": "522 Collins Extension Apt. 903\nWuckertberg, MI 96667-8701",
"addr2": "47921 Littel Island Apt. 842\nO'Harastad, MS 96604-7581",
"addr3": "35930 Beahan Expressway\nPort Aliciaville, ID 10866",
"city": "East Ramonafort",
"state": "GA",
"zip": "11582",
"country": "Lebanon"
}
}
Create a customer record linked to your Company/Merchant.
curl --request POST \
"https://app.dimepayments.com/api/customer/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"first_name\": \"deserunt\",
\"last_name\": \"voluptatem\",
\"company_name\": \"accusantium\",
\"phone\": \"corrupti\",
\"email\": \"[email protected]\",
\"addr1\": \"doloribus\",
\"addr2\": \"tempora\",
\"addr3\": \"pariatur\",
\"city\": \"id\",
\"state\": \"aliquam\",
\"zip\": \"ipsa\"
}
}"
{
"data": {
"uuid": "c01906ff-b861-4373-903e-78b61061c226",
"first_name": "Linwood",
"last_name": "Kiehn",
"phone": "+13179504828",
"email": "[email protected]",
"addr1": "2999 Fisher Port\nRubymouth, IA 38997-6227",
"addr2": "86264 O'Connell Shoals Apt. 274\nNorth Mozell, MS 49378",
"addr3": "2322 Janae Summit Suite 698\nNew Ambrose, NY 90980",
"city": "Armanimouth",
"state": "GA",
"zip": "64569",
"country": "Taiwan"
}
}
Update a customer record. Make changes to the customer referenced by UUID, phone number, or email. One of the filters is required to be provided to select a unique customer. Only pass the fields that require updating in the data object.
curl --request PATCH \
"https://app.dimepayments.com/api/customer/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"filters\": {
\"phone\": \"+15555555555\",
\"email\": \"[email protected]\",
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\"
},
\"data\": {
\"sid\": 12345,
\"first_name\": \"quibusdam\",
\"last_name\": \"aut\",
\"company_name\": \"voluptatem\",
\"phone\": \"consequatur\",
\"email\": \"[email protected]\",
\"addr1\": \"rerum\",
\"addr2\": \"maxime\",
\"addr3\": \"minima\",
\"city\": \"sunt\",
\"state\": \"quam\",
\"zip\": \"doloremque\"
}
}"
{
"data": {
"uuid": "9f9d9417-5a7e-4202-9a14-8dae4f45a7a2",
"first_name": "Kelvin",
"last_name": "Bednar",
"phone": "+19203095685",
"email": "[email protected]",
"addr1": "579 Enrique Glen\nMarcellusstad, VT 68083",
"addr2": "57866 Ortiz Corner Suite 144\nNorth Alexannefort, KY 00485",
"addr3": "8590 Paul Springs\nMontyton, DC 18641",
"city": "Edisonside",
"state": "GA",
"zip": "63303",
"country": "Norway"
}
}
Delete a customer record from the selected Merchant. One of the filters is required to select a unique customer
curl --request POST \
"https://app.dimepayments.com/api/customer/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"first_name\": \"aut\",
\"last_name\": \"pariatur\",
\"company_name\": \"velit\",
\"phone\": \"harum\",
\"email\": \"[email protected]\",
\"addr1\": \"molestiae\",
\"addr2\": \"at\",
\"addr3\": \"voluptas\",
\"city\": \"quod\",
\"state\": \"inventore\",
\"zip\": \"aperiam\"
}
}"
{
"data": {
"uuid": "bd0160e5-1fad-40c5-8476-b1285111cd74",
"first_name": "Albina",
"last_name": "Jacobson",
"phone": "+17573674736",
"email": "[email protected]",
"addr1": "29440 Emmett Ferry\nNorth Sophia, ND 94175",
"addr2": "1955 Antonietta Summit\nSouth Hymanland, SC 75084",
"addr3": "355 Keeling Oval Suite 733\nHoweberg, GA 22176-9345",
"city": "Estatown",
"state": "GA",
"zip": "94168-4765",
"country": "France"
}
}
Get Deposits from Merchant Account with supporting transactions
curl --request GET \
--get "https://app.dimepayments.com/api/deposits" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"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"
}
]
}
APIs for managing payment methods associated with customers. Depending on API KEY permissions, one should be able to list, create, update, and delete payment methods along with several other payment method specific requests.
This endpoint lets you create a new payment method for a customer. Must pass at least one filter to select a specific customer
curl --request POST \
"https://app.dimepayments.com/api/payment-method/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": 1,
"user_id": 1,
"type": "cc",
"token": "xxxxxxxx",
"default": 1,
"created_at": "2022-10-01",
"updated_at": "2022-10-01"
}
}
APIs for use through Zapier. Depending on API KEY permissions, one should be able to see customers and transactions data.
Get a list of all new customers since the last time it was checked.
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/new-customers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
Get a list of all transactions for a Merchant
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/transactions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
Get a list of all transactions for a given customer using their phone number
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/transactions/doloribus" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"start_date\": \"2020-10-15\",
\"end_date\": \"2020-10-15\",
\"last_days\": \"90\"
}
}"
{
Get the most recent transactions details
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/new-transactions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{