Overview - Adiq Recurrence
The purpose of this documentation is to guide the developer on how to integrate with the Adiq Recurrence API, describing the functionalities and methods to be used, listing information to be sent and received and providing examples.
The integration mechanism with Adiq Recurrence is simple, so only intermediate knowledge of web programming language, HTTP/HTTPS requests and JSON file manipulation are required to successfully deploy the Adiq Recurrence solution.
In this manual you will find the reference about all the operations available in the Adiq Recurrence REST API. These operations must be performed using their specific key in the respective environments' endpoints:
To perform an operation, combine the base URL of the environment with the URL of the desired operation and submit using the HTTP verb as described in the operation.
Glossary
To facilitate understanding, we have listed below a small glossary with the main terms related to Recurrence:
Term | Description |
---|---|
Plan | Plans are the proposals presented by companies to potential customers. For example, a gym may offer monthly, quarterly or annual plans, making the customer choose a plan that best suits their needs. |
Subscription | Subscription to services and/or products is a way used by companies to build customer loyalty, for example, a fashion or decoration magazine offers a monthly, quarterly or annual subscription. Soon, the customer will receive the product, in this case the magazine, every month or every issue. And every subscription is associated with a plan. |
Tasting | It is the period in which there will be no charge for the beginning of the subscription. For example: If the plan is created with a 10-day trial period, and the subscription for that holder is registered on February 2nd, the first charge will be made on February 12th, thus validating the subscription. |
Features
Authentication
Approval | Production | |
---|---|---|
Requests | https://authorization-hml.adiq.io | https://authorization.adiq.io |
{
"grantType": "client_credentials"
}
Property | Description | Type | Location | Required |
---|---|---|---|---|
GantType
|
Use the fixed value "client_credentials." | string | body | yes |
Authorization
|
Concatenation of your Client ID, followed by “:” (colon) plus your Client Secret, converted to base64. Example: Authorization: Basic ZGV2ZWxvcGVycy5hZGlxLmlv |
string | header | yes |
Response
{
"access_token": "eyJhbGcIkpXVCJ9.eyJ1bmlb25TZXJ2ZXIifQ.P3sGyKpDcCdm9s",
"token_type": "Bearer",
"expires_in": 1800
}
Property | Description | Type |
---|---|---|
AccessToken
|
API access token to be sent on all requests. | string |
TokenType
|
Type of token, must be sent in the header along with the token. | string |
ExpiresIn
|
Token expiration time in seconds. | integer |
Plan
Approval | Production | |
---|---|---|
Requests | https://recorrencia-hml.adiq.io | https://recorrencia.adiq.io |
Plan-specific operations.
Create plan
To create a plan it is necessary to send a request using the POST
method for the resource as shown in the example:
Request
{
"merchantId": "01700555550000",
"name": "Jornal do Bairro - assinatura mensal",
"description": "Jornal com notícias locais do bairro.",
"amount": 5.99,
"planType": "Monthly",
"trialDays": 7,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 12,
"attempts": 3
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
merchantId
|
Identifier of the establishment. | string | body | No (captured via authentication) | 20 |
name
|
Plan Name | string | body | yes | 255 |
description
|
Plan Description | string | body | yes | 255 |
amount
|
Amount of plan installments | decimal | body | yes | 12 integers and 6 decimals |
planType
|
Plan Type (Monthly, Bimonthly, Quarterly, Semesterly, Yearly, Custom) | string | body | yes | Fixed |
trialDays
|
Number of days in tasting | integer | body | no | Not applicable |
paymentMethod
|
Payment method (CreditCard) | string | body | yes | Fixed |
interval
|
Interval in days between charges | integer | body | conditional | Greater than 20 |
installments
|
Number of installments | integer | body | conditional | Not applicable |
attempts
|
Number of stubborn attempts (limited to 4 attempts) | integer | body | conditional | 4 |
Monthly
= Mensal,
For the “Monthly” plan, charges will be made every 30 days. There is no end date until the subscription is cancelled, or the transaction be denied by the issuer/flag.
Bimonthly
= Bimonthly
Quarterly
= Quarterly
Semesterly
= Semesterly
Yearly
= Yearly
For any plan mentioned above, it is not necessary to send the tags interval
e installments
, as the system will automatically assign the interval of 30 calendar days and the number of
installments according to the type of plan chosen.
A planType
of the type Custom
must present interval
of at least 20 and installments
greater than zero.
attempts
indicates the number of stubborn attempts.
Stubbornness will occur when the payment attempt is not completed due to lack of balance.
If the card is cancelled, stubbornness will not occur and the system will leave the subscription account blocked.
Here are some examples:
- If the value shown in the
attempts
field is 1 and the first payment attempt failed successful, the system will retry 2 days after the last failed payment. - If the value shown in the
attempts
field is 4 and 3 payment attempts have already been made without successful, the system will retry 4 days after the last failed payment. - If the value shown in the
attempts
field is 4 and 4 payment attempts have already been made without successful, the system will retry 8 days after the last failed payment and will not retry. - If the value shown in the
attempts
field is 0, the system will not perform a second try. - If a payment has a payment date on 01/01, the first stubborn attempt will be made on 01/03, the second on 01/05, the third on 09/01, and the fourth and final attempt will be on 17/01.
Response
The response returns a string with the Id of the created plan.
"59ff5efc-33e0-4c5c-b45f-e342057c4775"
Search plan
Search for a query plan as shown:
Request
Property | Description | Type | Location | Required |
---|---|---|---|---|
name
|
Plan Name | string | query params | no |
status
|
Plan Status | string | query params | no |
orderby
|
Ordering the result | string | query params | no |
page
|
Page number | integer | query params | no |
limit
|
Limit of items per page | integer | query params | no |
Response
{
"items": [
{
"merchantId": "017005555500000",
"name": "plano - Mensal 1 9999",
"description": "plano - Mensal 1 9999",
"amount": 29.990000,
"planType": "Monthly",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 1,
"status": "Active",
"attempts": 0,
"id": "07d3e68a-1e61-4010-9dee-3f6db3c52dec",
"createdDate": "2020-04-14T12:21:23.337"
},
{
"merchantId": "017005555500000",
"name": "PLANO CUSTOM 3",
"description": "PLANO DE RECORRÊNCIA EM 5X",
"amount": 27.000000,
"planType": "Custom",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 5,
"status": "Active",
"attempts": 4,
"id": "0dd23cbd-de75-45a5-b2d1-972191140593",
"createdDate": "2020-04-14T12:21:23.337"
}
],
"page": 1,
"limit": 2,
"total": 47
}
Property | Description | Type |
---|---|---|
merchantId
|
Identifier of the establishment. | string |
name
|
Plan Name | string |
description
|
Plan Description | string |
amount
|
Amount of plan installments | decimal |
planType
|
Plan Type (Monthly, Bimonthly, Quarterly, Semesterly, Yearly, Custom) | string |
trialDays
|
Number of days in tasting | integer |
paymentMethod
|
Payment method (CreditCard) | string |
interval
|
Interval in days between charges | integer |
installments
|
Number of installments | integer |
status
|
Plan Status | string |
attempts
|
Number of stubborn attempts (limited to 4 attempts) | integer |
id
|
Plan identifier | string |
createdDate
|
Date and time of plan creation | datetime |
Search plan by ID
Search for a plan by ID for consultation as in the example:
Request
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
planId
|
Plan ID | string | path | yes | 36 |
Response
{
"merchantId": "017005555500000",
"name": "PLANO CUSTOM 3",
"description": "PLANO DE RECORRÊNCIA EM 5X",
"amount": 27.000000,
"planType": "Custom",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 5,
"status": "Active",
"attempts": 4,
"id": "0dd23cbd-de75-45a5-b2d1-972191140593",
"createdDate": "2020-04-14T12:21:23.337"
}
Property | Description | Type |
---|---|---|
merchantId
|
Identifier of the establishment. | string |
name
|
Plan Name | string |
description
|
Plan Description | string |
amount
|
Amount of plan installments | decimal |
planType
|
Plan Type (Monthly, Bimonthly, Quarterly, Semesterly, Yearly, Custom) | string |
trialDays
|
Number of days in tasting | integer |
paymentMethod
|
Payment method (CreditCard) | string |
interval
|
Interval in days between charges | integer |
installments
|
Number of installments | integer |
status
|
Plan Status | string |
attempts
|
Number of stubborn attempts (limited to 4 attempts) | integer |
id
|
Plan identifier | string |
createdDate
|
Date and time of plan creation | datetime |
Update plan
To update a plan it is necessary to send a request using the method PUT
to the resource as shown in the example:
Request
{
"merchantId": "017005555500000",
"name": "plano - Mensal 1 9999",
"description": "plano - Mensal 1 9999",
"amount": 29.990000,
"planType": "Monthly",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 1,
"attempts": 0
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
planId
|
Identifier of the plan to be changed. | string | path | yes | 36 |
merchantId
|
Identifier of the establishment. | string | body | yes | 20 |
name
|
Plan Name | string | body | yes | 255 |
description
|
Plan Description | string | body | yes | 255 |
amount
|
Value | decimal | body | yes | 12 |
planType
|
Plan Type | string | body | yes | Fixed |
trialDays
|
Number of days in tasting | integer | body | no | Not applicable |
paymentMethod
|
Payment method | string | body | yes | Fixed |
interval
|
Interval in days between charges | integer | body | conditional | Greater than 20 |
installments
|
Number of installments | integer | body | conditional | Not applicable |
attempts
|
Number of stubborn attempts (limited to 4 attempts) | integer | body | conditional | 4 |
Response
The response returns a string with the Id of the plan that was updated.
"0dd23cbd-de75-45a5-b2d1-972191140593"
Update plan status
To update the status of a plan it is necessary to send a request using the method PUT
to the resource as shown in the example:
Request
{
"status": "Active"
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
planId
|
Identifier of the plan to be changed. | string | path | yes | 36 |
status
|
Status (Active, Inactive, Canceled) | string | body | yes | Fixed |
Response
The response returns a string with the Id of the plan that was updated.
"0dd23cbd-de75-45a5-b2d1-972191140593"
Signature
Subscription-specific operations.
Create Subscription
To create a signature it is necessary to send a request using the POST
method to the resource as shown in the example:
Request
{
"vaultId": "e7fa5a01-90a9-4abc-9bac-d9dbfa7db587",
"orderNumber": "1234567890",
"planId": "e776ab3b-4698-4afa-97d4-a621d70c4a11"
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
vaultId
|
Vault identifier | string | body | yes | 36 |
orderNumber
|
Service Order or Order Number | string | body | yes | 10 |
planId
|
Plan identifier | string | body | yes | 36 |
Response
The response returns a string with the Id of the created subscription.
"937d0108-c54c-44f5-9ddc-acdb3dd94cc6"
Change Subscription Status
To change the subscription status it is necessary to send a request using the PUT
method to the resource as shown in the example:
Request
{
"status": "Actived"
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
subscriptionId
|
Identifier of the subscription to be changed status. | string | path | yes | 36 |
status
|
Status identifier (Activated, Canceled) | string | body | yes | Fixed |
Response
The response returns a string with the Id of the subscription that was updated.
"0dd23cbd-de75-45a5-b2d1-972191140593"
Search signatures
To fetch the signatures it is necessary to send a request using the GET
method for the resource as shown in the example:
Request
Property | Description | Type | Location | Required |
---|---|---|---|---|
planName
|
Plan Name | string | query params | no |
status
|
plan status | string | query params | no |
orderby
|
Ordering the result | string | query params | no |
page
|
Page number | integer | query params | no |
limit
|
Limit of items per page | integer | query params | no |
Response
{
"items": [
{
"vaultId": "fc3c5589-24b1-4bca-b8ab-e57b100c44cd",
"orderNumber": "1234567890",
"status": "Active",
"plan": {
"merchantId": "01700555550000",
"name": "PLANO CUSTOM DO SEU ZÉ",
"description": "PLANO DE RECORRÊNCIA EM 5X",
"amount": 31.000000,
"planType": "Custom",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 5,
"status": "Active",
"attempts": 0,
"id": "cef858c4-d0c6-4f27-b009-c303121f3b6e",
"createdDate": "2020-04-14T12:21:23.337"
},
"id": "013c7ec4-62c1-4d78-859d-e8d2a11f681d",
"createdDate": "2020-03-19T15:09:12.203"
},
{
"vaultId": "3a203c6b-553f-4a7c-9cc4-e30897966c2e",
"orderNumber": "1404202015",
"status": "Blocked",
"plan": {
"merchantId": "017005555500000",
"name": "plano - Mensal 1",
"description": "plano - Mensal 1",
"amount": 29.990000,
"planType": "Monthly",
"trialDays": 1,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 1,
"status": "Active",
"attempts": 0,
"id": "fc7f49da-0510-4884-9cad-ae3e0b2488d9",
"createdDate": "2020-04-14T12:21:23.337"
},
"id": "0405507a-c8d5-440d-bb83-80e45f24b35f",
"createdBy": "user.backoffice00@email.com",
"createdDate": "2020-04-14T15:45:04.73"
}
],
"page": 1,
"limit": 2,
"total": 41
}
Property | Description | Type |
---|---|---|
vaultId |
Vault identifier | string |
orderNumber |
Service Order or Order Number | string |
status |
Subscription Status | string |
id |
Subscription identifier | string |
createdBy |
User responsible for creating the signature. | string |
createdDate |
Subscription creation date and time | datetime |
plan.merchantId |
Establishment identifier | string |
plan.name |
Plan Name | string |
plan.description |
Plan Description | string |
plan.amount |
Amount of plan installments | decimal |
plan.planType |
Plan type (Monthly, Bimonthly, Quarterly, Semesterly, Yearly, Custom) | string |
plan.trialDays |
Number of days in tasting | integer |
plan.paymentMethod |
Payment method (CreditCard) | string |
plan.interval |
Interval in days between charges | integer |
plan.installments |
Number of installments | integer |
plan.status |
Plan Status | string |
plan.attempts |
Number of stubborn attempts (limited to 4 attempts) | integer |
plan.id |
Plan identifier | string |
plan.createdDate |
Date and time of plan creation | datetime |
Search signature by ID
To get the signature by ID it is necessary to send a request using the GET
method for the resource as shown in the example:
Request
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
subscriptionId
|
Signature identifier | string | path | yes | 36 |
Response
{
"vaultId": "fc3c5589-24b1-4bca-b8ab-e57b100c44cd",
"orderNumber": "1234567890",
"status": "Blocked",
"plan": {
"merchantId": "01700555550000",
"name": "PLANO CUSTOM DO SEU ZÉ",
"description": "PLANO DE RECORRÊNCIA EM 5X",
"amount": 31.000000,
"planType": "Custom",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 5,
"status": "Active",
"attempts": 0,
"id": "cef858c4-d0c6-4f27-b009-c303121f3b6e",
"createdDate": "2020-04-14T12:21:23.337"
},
"id": "013c7ec4-62c1-4d78-859d-e8d2a11f681d",
"createdDate": "2020-03-19T15:09:12.203"
}
Property | Description | Type |
---|---|---|
vaultId |
Vault identifier | string |
orderNumber |
Service Order or Order Number | string |
status |
Subscription Status | string |
id |
Subscription identifier | string |
createdDate |
Subscription creation date and time | datetime |
plan.merchantId |
Establishment identifier | string |
plan.name |
Plan Name | string |
plan.description |
Plan Description | string |
plan.amount |
Amount of plan installments | decimal |
plan.planType |
Plan type (Monthly, Bimonthly, Quarterly, Semesterly, Yearly, Custom) | string |
plan.trialDays |
Number of days in tasting | integer |
plan.paymentMethod |
Payment method (CreditCard) | string |
plan.interval |
Interval in days between charges | integer |
plan.installments |
Number of installments | integer |
plan.status |
Plan Status | string |
plan.attempts |
Number of stubborn attempts (limited to 4 attempts) | integer |
plan.id |
Plan identifier | string |
plan.createdDate |
Date and time of plan creation | datetime |
Change vault in signature
To change a signature vault, it is necessary to send a request using the PUT
method to the resource as shown in the example:
Request
{
"vaultId": "e954a511-f081-42e1-8531-2c4dcdf9a2cf"
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
subscriptionId
|
Signature identifier | string | path | yes | 36 |
vaultId
|
Vault ID | string | body | yes | 36 |
Response
The response returns a string with the Id of the subscription that was updated.
"013c7ec4-62c1-4d78-859d-e8d2a11f681d"
Billing
Specific Payment Operations (Billing)
Search payment(s)
To fetch payments it is necessary to send a request using the GET
method for the resource as shown in the example:
Request
Property | Description | Type | Location | Required |
---|---|---|---|---|
Mid
|
Establishment Number | string | query params | no |
status
|
Payment status (Opened, PaymentInvalid, Canceled, Denied, Paid) | string | query params | no |
ExpirationDateRangeStartDate
|
Expiration Date (Start Date eg 2020-01-01) | string | query params | no |
ExpirationDateRangeEndDate
|
Expiration Date (End Date eg 2020-01-31) | string | query params | no |
orderby
|
Ordering the result | string | query params | no |
page
|
Page number | integer | query params | no |
limit
|
Limit of items per page | integer | query params | no |
Response
{
"items": [
{
"status": "Paid",
"expireAt": "2020-06-05T00:00:00",
"amount": 29.990000,
"subscription": {
"vaultId": "d2372c60-dc5f-465b-befc-2650976aaa55",
"orderNumber": "123456789",
"status": "Blocked",
"plan": {
"merchantId": "017005555500000",
"name": "Plano custom 1",
"description": "Plano customizado para você",
"amount": 29.990000,
"planType": "Monthly",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 1,
"status": "Active",
"attempts": 2,
"id": "d9b8c7a2-e286-4dd0-aea7-d72fe8daafa9",
"createdBy": "admin-api@adiq.com.br",
"createdDate": "2020-05-04T15:52:03.93"
},
"id": "145537c6-4ed6-4124-a5e1-be20735008a3",
"createdBy": "admin-api@adiq.com.br",
"createdDate": "2020-05-04T15:53:36.13"
},
"installment": 2,
"id": "4e389b08-7fae-4fe0-a6ba-1789373c8d05",
"createdBy": "admin-api@adiq.com.br",
"createdDate": "2020-05-04T15:57:14.72",
"modifiedBy": "admin-api@adiq.com.br",
"modifiedDate": "2020-05-04T15:57:26.41"
},
{
"status": "PaymentInvalid",
"expireAt": "2020-03-24T00:00:00",
"amount": 41.000000,
"subscription": {
"vaultId": "ea7ff702-639d-4edc-ad36-8beca4c15e2c",
"orderNumber": "1234567890",
"status": "Blocked",
"plan": {
"merchantId": "017005555500000",
"name": "PLANO MENSAL",
"description": "PLANO DE RECORRÊNCIA QUADRIMESTRAL 2",
"amount": 41.000000,
"planType": "Quarterly",
"trialDays": 0,
"paymentMethod": "CreditCard",
"interval": 30,
"installments": 3,
"status": "Active",
"attempts": 3,
"id": "fda81b20-8f85-418b-9eb7-cb61aee40fbc",
"createdDate": "2020-04-14T12:21:23.337"
},
"id": "2211ca27-2c56-4528-ba48-bda4dcf17c22",
"createdDate": "2020-02-23T00:00:00"
},
"installment": 2,
"id": "5b04bece-7ede-4768-a079-8f42501c1adc",
"createdDate": "2020-04-14T12:21:23.94"
}
],
"page": 1,
"limit": 2,
"total": 8
}
Property | Description | Type |
---|---|---|
status |
Payment Status | string |
expireAt |
Payment expiration date. | datetime |
amount |
Payment amount | decimal |
installment |
Part number | integer |
id |
Payment identifier | string |
createdBy |
User responsible for creating the payment | string |
createdDate |
Payment creation date and time | datetime |
modifiedBy |
User responsible for the last modification of the payment | string |
modifiedDate |
Date and time of last modification of payment | datetime |
subscription.vaultId |
Vault identifier | string |
subscription.orderNumber |
Service Order or Order Number | string |
subscription.status |
Subscription Status | string |
subscription.id |
Subscription identifier | string |
subscription.createdBy |
User responsible for creating the signature. | string |
subscription.createdDate |
Subscription creation date and time | datetime |
subscription.plan.merchantId |
Establishment identifier | string |
subscription.plan.name |
Plan Name | string |
subscription.plan.description |
Plan Description | string |
subscription.plan.amount |
Amount of plan installments | decimal |
subscription.plan.planType |
Plan type (Monthly, Bimonthly, Quarterly, Semesterly, Yearly, Custom) | string |
subscription.plan.trialDays |
Number of days in tasting | integer |
subscription.plan.paymentMethod |
Payment method (CreditCard) | string |
subscription.plan.interval |
Interval in days between charges | integer |
subscription.plan.installments |
Number of installments | integer |
subscription.plan.status |
Plan Status | string |
subscription.plan.attempts |
Number of stubborn attempts (limited to 4 attempts) | integer |
subscription.plan.id |
Plan identifier | string |
subscription.plan.createdBy |
User responsible for creating the plan. | string |
subscription.plan.createdDate |
Date and time of plan creation | datetime |
Cancel Payment
To cancel a payment not yet made, it is necessary to send a request using the PUT
method to the resource as shown in the example:
Request
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
billingId
|
Identifier of the payment to be canceled. | string | path | yes | 36 |
Response
The response returns a string with the ID of the payment that was canceled.
"0dd23cbd-de75-45a5-b2d1-972191140593"
Notifications
If a payment attempt is not successful, a notification will be sent to establishments that have a registration of notifications that have an active status. The shipment will occur after each collection attempt, even in cases that have stubbornness.
Create Notification
To create the notification parameters it is necessary to send a request using the POST
method to the resource as shown in the example:
Request
{
"merchantId": "017005555500000",
"name": "New Merchant Notifier",
"description": "Adding callback",
"callbackUrl": "http://test.com/feeds/paymentsFail/"
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
merchantId
|
Identifier of the establishment. | string | body | yes | 20 |
name
|
Notification Name | string | body | yes | 50 |
description
|
Notification Description | string | body | yes | 150 |
callbackUrl
|
Enterprise-side endpoint URL | string | body | yes | 500 |
Response
The response returns a string with the Id of the created notification.
"0dd23cbd-de75-45a5-b2d1-972191140593"
Fetch Notification
Search for notification records:
Request
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
merchantId
|
Establishment ID | string | query params | on | 20 |
name
|
Notification Name | string | query params | on | 50 |
status
|
Notification Status (Active, Canceled) | string | query params | on | Fixed |
Response
[
{
"status": "Active",
"merchantId": "017005555500000",
"name": "New Merchant Notifier",
"description": "Adding callback",
"callbackUrl": "http://test.com/feeds/paymentsFail/",
"id": "57412511-2940-477d-8422-f5c17a3fe4f5",
"createdBy": "adiq",
"createdDate": "2021-08-25T16:27:40.97"
}
]
Property | Description | Type |
---|---|---|
status |
Notification Status | string |
merchantId |
Establishment identifier | string |
name |
Notification Name | string |
description |
Notification Description | string |
callbackUrl |
Notification callback url | string |
id |
Notification identifier | string |
createdBy |
User responsible for creating the notification | string |
createdDate |
Date and time of notification creation | datetime |
Update Notification
To update the Notification data it is necessary to send a request using the PUT
method to the resource as shown in the example:
Request
{
"merchantId": "017005555500000",
"name": "Merchant Notifier",
"description": "Updating callback",
"callbackUrl": "http://test.com/feeds/paymentsFail/v2",
"status": "Active"
}
Property | Description | Type | Location | Required | Maximum Size |
---|---|---|---|---|---|
merchantId
|
Identifier of the establishment. | string | path | yes | 20 |
name
|
Notification Name | string | body | yes | 50 |
description
|
Notification Description | string | body | yes | 150 |
callbackUrl
|
Enterprise-side endpoint URL | string | body | yes | 500 |
status
|
Notification status ( Active, Canceled ) | string | body | yes | Fixed |
Response
{
"status": "Active",
"merchantId": "017005555500000",
"name": "Update Merchant Notifier",
"description": "Updating callback",
"callbackUrl": "http://test.com/feeds/paymentsFail/v2/",
"id": "57412511-2940-477d-8422-f5c17a3fe4f6",
"createdBy": "Adiq",
"createdDate": "2021-08-25T16:27:40.97",
"modifiedBy": "Adiq",
"modifiedDate": "2021-08-25T16:37:29.917"
}
Property | Description | Type |
---|---|---|
status |
Notification Status | string |
merchantId |
Establishment identifier | string |
name |
Notification Name | string |
description |
Notification Description | string |
callbackUrl |
Notification callback url | string |
id |
Notification identifier | string |
createdBy |
User responsible for creating the notification | string |
createdDate |
Date and time of notification creation | datetime |
modifiedBy |
User responsible for the last modification of the notification | string |
modifiedDate |
Date and time when notification was last modified | datetime |
Failed Payment Notifications
To receive failure notifications, it is necessary for the Merchant to implement an endpoint in its application, which
receive a request using the POST
method as in the example:
Request
{
"SubscriptionId": "ba2dad08-7047-467d-8555-a947621d6554",
"PlanId": "72c6bfb2-4437-4a6d-9513-d9b4db520323",
"OrderNumber": "1234567890",
"BillingId": "33d49aaa-2aa7-402c-98d7-bc6d46af3aee",
"ExpireAt": "2021-08-20T07:00:00-03:00",
"ErrorCode": "Falha ao enviar notificação",
"ErrorMessage": "Não foi possível se conectar."
}
Property | Description | Type | Location | Required |
---|---|---|---|---|
SubscriptionId
|
Subscription identifier | string | body | yes |
PlanId
|
Plan identifier | string | body | yes |
OrderNumber
|
Order Description | string | body | yes |
BillingId
|
Billing identifier | decimal | body | yes |
ExpireAt
|
Billing Due Date | datetime | body | yes |
ErrorCode
|
Error code received from the authorizer. | string | body | yes |
ErrorMessage
|
Error message received from authorizer. | string | body | yes |
Integration Errors
If integration errors occur in any of the payment methods, a
response
will be returned containing an error code and description
Example
Mandatory field not informed, the answer will be:
[
{
"tag":"Campo",
"description":"Não pode ser nulo ou vazio."
}
]
Property | Description |
---|---|
Tag
|
API Error Code. |
Description
|
Error Description. |
API-codes
HTTP Status Code
HTTP Status Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
402 | Client Error |
500 | Internal Server Error |