APIs
Authorization Request
The below covers the structure of the request Unit makes to your API, as well as the two response options - approve or decline.
| Name | Type | Description |
|---|---|---|
| data | PurchaseAuthorizationRequest / CardTransactionAuthorizationRequest / AtmAuthorizationRequest / IIASAuthorizationRequest | The authorization request possible resources. |
Example Request:
{
"data": [
{
"id": "412",
"type": "pendingAuthorizationRequest",
"attributes": {
"createdAt": "2021-06-24T08:10:08.081Z",
"amount": 2000,
"available": 150000,
"status": "Pending",
"partialApprovalAllowed": false,
"merchant": {
"name": "Merchant name",
"type": "6012",
"id": "311204598883"
},
"recurring": false,
"ecommerce": true,
"cardPresent": false,
"direction": "Debit",
"mustBeApproved": false,
"tags": {
"tag": "value"
},
"currencyConversion": {
"originalCurrency": "EUR",
"amountInOriginalCurrency": 1000,
"fxRate": "1.164"
},
"isInternational": true,
"cardNetwork": "Visa"
},
"relationships": {
"authorizationRequest": {
"data": {
"id": "6",
"type": "purchaseAuthorizationRequest"
}
},
"account": {
"data": {
"id": "10001",
"type": "account"
}
},
"customer": {
"data": {
"id": "10000",
"type": "customer"
}
},
"card": {
"data": {
"id": "7",
"type": "card"
}
}
}
}
]
}
Approving an Authorization Request
Response is a JSON:API document.
200 OK
Attributes
| Name | Type | Description |
|---|---|---|
| amount Optional | integer | Optional. The approved amount (in cents). Can only be specified if the authorization request's partialApprovalAllowed is set to true. |
| fundingAccount Optional | string | Optional. The id of an alternate account (either the customer's or another's) that should be used for funding the transaction. Please contact Unit to enable this feature. |
| tags Optional | object | Optional, See Tags. The specified tags will be inherited by the resulting authorization and transaction resources. |
Example Response:
{
"data": {
"type": "approveAuthorizationRequest",
"attributes": {
"amount": 5000
}
}
}
Declining an Authorization Request
Response is a JSON:API document.
200 OK
Attributes
| Name | Type | Description |
|---|---|---|
| reason | string | The reason for declining the authorization request. One of AccountClosed, CardExceedsAmountLimit, DoNotHonor, InsufficientFunds, InvalidMerchant, ReferToCardIssuer, RestrictedCard, TransactionNotPermittedToCardholder. |
Example Response:
{
"data": {
"type": "declineAuthorizationRequest",
"attributes": {
"reason": "InsufficientFunds"
}
}
}
Get by Id
Get an authorization request resource by id.
| Verb | GET |
| URL | https://api.s.unit.sh/authorization-requests/{id} |
| Required Scope | authorization-requests |
| Timeout (Seconds) | 5 |
Response
Response is a JSON:API document.
200 OK
| Name | Type | Description |
|---|---|---|
| data | PurchaseAuthorizationRequest / CardTransactionAuthorizationRequest / AtmAuthorizationRequest | Authorization Request resource. |
curl -X GET 'https://api.s.unit.sh/authorization-requests/1' \
-H "Authorization: Bearer ${TOKEN}"
List
List authorization requests. Filtering and paging can be applied.
| Verb | GET |
| URL | https://api.s.unit.sh/authorization-requests |
| Required Scope | authorization-requests |
| Timeout (Seconds) | 5 |
Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page[limit] | integer | 100 | Optional. Maximum number of resources that will be returned. Maximum is 1000 resources. |
| page[offset] | integer | 0 | Optional. Number of resources to skip. |
| filter[accountId] | string | (empty) | Optional. Filters the results by the specified account id. |
| filter[customerId] | string | (empty) | Optional. Filters the results by the specified customer id. |
| filter[merchantCategoryCode][] | Integer | (empty) | Optional. Filter result by their 4-digit ISO 18245 merchant category code (MCC). |
| filter[fromAmount] | Integer | (empty) | Optional. Filters the result that have an amount that is higher or equal to the specified amount (in cents). e.g. 5000 |
| filter[toAmount] | Integer | (empty) | Optional. Filters the result that have an amount that is lower or equal to the specified amount (in cents). e.g. 7000 |
curl -X GET 'https://api.s.unit.sh/authorization-requests?page[limit]=20&page[offset]=0' \
-H "Authorization: Bearer ${TOKEN}"
Response
Response is a JSON:API document.
200 OK
| Name | Type | Description |
|---|---|---|
| data | Array of PurchaseAuthorizationRequest / CardTransactionAuthorizationRequest / AtmAuthorizationRequest | Array of authorization request resources. |
Example Response:
{
"data": [
{
"type": "purchaseAuthorizationRequest",
"id": "1",
"attributes": {
"createdAt": "2021-06-22T13:39:17.018Z",
"amount": 2500,
"status": "Approved",
"partialApprovalAllowed": false,
"approvedAmount": 2500,
"merchant": {
"name": "Apple Inc.",
"type": 1000,
"category": "",
"location": "Cupertino, CA",
"id": "311204598883"
},
"recurring": false
},
"relationships": {
"customer": {
"data": {
"type": "customer",
"id": "10000"
}
},
"account": {
"data": {
"type": "account",
"id": "10001"
}
},
"card": {
"data": {
"type": "card",
"id": "7"
}
}
}
},
{
"type": "cardTransactionAuthorizationRequest",
"id": "2",
"attributes": {
"createdAt": "2021-06-22T13:41:01.379Z",
"amount": 2500,
"status": "Pending",
"partialApprovalAllowed": false,
"merchant": {
"name": "Apple Inc.",
"type": 1000,
"category": "",
"location": "Cupertino, CA",
"id": "311204598883"
},
"recurring": false
},
"relationships": {
"customer": {
"data": {
"type": "customer",
"id": "10000"
}
},
"account": {
"data": {
"type": "account",
"id": "10001"
}
},
"card": {
"data": {
"type": "card",
"id": "7"
}
}
}
}
]
}