Overview

To enable seamless payments through SynchPay, you can allow users to authorize recurring charges up to a defined limit. This is managed through the Debit Auth API endpoints, which allow you to check, set, and update the user’s authorized debit limit.

How It Works

1

Obtain an Access Token

Before calling any Debit Auth endpoints, secure an access token by making a POST request to /auth/token using your ClientId and ClientSecret.
2

Check Current Limit

Use the GET /user/{registrationId}/debitauth endpoint to retrieve the current auto-debit authorization status and the active limit, if any.
3

Set Initial Limit

If the user has not authorized any auto-debits yet, initiate the setup by sending a POST request to /user/{registrationId}/debitauth with the desired limit.

Check Current Debit Authorization

Endpoint

  • URL: https://api.synchpay.com/user/{registrationId}/debitauth
  • Method: GET
  • Authorization: Bearer <AccessToken>

Query Parameters

ParameterTypeDescriptionRequired
RegistrationIdstringUnique identifier for the registered userYes
CompanyIdstringUnique identifier for the CompanyYes

Example Request

GET /user/bc1dcbac-226a-41cb-bc91-8e94e701cbba/debitauth?CompanyId=6e8d9257-bd5f-45cf-8f29-6d0ae8a6d991
Authorization: Bearer eyJhbGciOi...

Example Response

{
  "Enabled": true,
  "Limit": 10000
}
{
  "Enabled": false,
  "Limit": 0
}

Set a New Debit Authorization Limit

Endpoint

  • URL: https://api.synchpay.com/user/{registrationId}/debitauth
  • Method: POST
  • Authorization: Bearer <AccessToken>

Path Parameters

ParameterTypeDescriptionRequired
registrationIdstringUnique identifier for the registered userYes

Request Body

ParameterTypeDescriptionRequired
CompanyIdstringUnique identifier for the companyYes
EnabledbooleanWhen used with true value then notifications is sent to the user, false will disable the DebitAuth. Default: falseNo
LimitintegerMaximum auto-debit amount in cents (e.g. 10000 = $100.00)Yes

Example Request

{
  "CompanyId": "bc1dcbac-226a-41cb-bc91-8e94e701cbba",
  "Enabled": true,
  "Limit": 10000
}