openapi: 3.0.1
info:
title: Core AccessGroup Disbursements API
version: core
tags:
- name: Disbursements
paths:
/disbursement/AddSupplier:
post:
tags:
- Disbursements
summary: Add Supplier
description: This endpoint is used to add supplier of disbursements.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDisbursementAddSupplierRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDisbursementAddSupplierResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'401':
description: Unauthorized
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
/disbursement/GetSupplier:
post:
tags:
- Disbursements
summary: Get Supplier
description: This endpoint is used to get supplier of disbursements.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDisbursementGetSupplierRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDisbursementGetSupplierResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'401':
description: Unauthorized
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
/disbursement/AddDisbursement:
post:
tags:
- Disbursements
summary: Add Disbursement
description: This endpoint is used add disbursement to an account using ACH, CARD, or CHEQUE.
security: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDisbursementAddDisbursementRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDisbursementAddDisbursementResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'401':
description: Unauthorized
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
/pay/AptPay/GetIdentity:
post:
tags:
- Disbursements
summary: Get Identity
description: This endpoint is used to get identity of a supplier.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSAptPayGetIdentityRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSAptPayGetIdentityResponse'
'401':
description: Unauthorized
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorContentResponse'
/pay/AptPay/GetTransactionStatus:
post:
tags:
- Disbursements
summary: Get Transaction Status
description: This endpoint is used to get transaction status of an disbursements.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSAptPayGetTranStatusRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSAptPayGetTranStatusResponse'
'401':
description: Unauthorized
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorContentResponse'
/pay/AptPay/CheckAccount:
post:
tags:
- Disbursements
summary: Check Account
description: This endpoint is used to check if a card is eligible to receive funds.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayCheckAccountRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayCheckAccountResponse'
'401':
description: Unauthorized
components:
schemas:
AMCSPayErrorContentResponse:
type: string
nullable: true
AMCSPayErrorResponse:
type: object
properties:
message:
type: string
example: error message
nullable: true
description: The exception message.
type:
type: string
example: error message
nullable: true
description: The type of exception thrown.
stackTrace:
type: string
example: error message
nullable: true
description: The stack trace of the error encountered.
AMCSAptPayAddIdentityRequest:
type: object
required:
- individual
- email
- clientId
properties:
individual:
type: boolean
nullable: false
description: "If this is an individual, set this parameter to True. If this is a business entity, set this to False.\n Default = true"
example: true
name:
type: string
nullable: true
description: '
This is required if individual is set to false
The business entity name'
example: TestStevenK
firstName:
type: string
nullable: true
description: 'This is required if individual is set to true
The individual''s first name (max 50 characters)'
example: Steven
middleName:
type: string
nullable: true
description: The individual's middle name.
example: Oliver
lastName:
type: string
nullable: true
description: 'This is required if individual is set to true
The individual''s last name.'
example: Kyamko
dateOfBirth:
type: string
nullable: true
description: 'This is required if individual is set to true
The individual’s date of birth. This is represented as YYYY-MM-DD.'
example: '2000-01-01'
phone:
type: string
nullable: true
description: The contact's phone number.
example: '+639201001111'
occupation:
type: string
nullable: true
description: The occupation of the person or individual
example: Janitor
street:
type: string
nullable: true
description: The street address of the person or individual
example: Street 1
streetLine2:
type: string
nullable: true
description: The street line address of the person or individual
example: Street 2
city:
type: string
nullable: true
description: The city address of the person or individual
example: Toronto
zip:
type: string
nullable: true
description: The zip code or address of the person or individual
example: L4K 0J7
country:
type: string
nullable: false
description: 'This is required if individual is set to false
The country address of the person or individual'
example: CA
province:
type: string
nullable: true
description: 'This is required if individual is set to false
The province of the person or address'
example: 'ON'
email:
type: string
nullable: false
description: The email address of the person or individual
example: jametests@gmail.com
dbaName:
type: string
nullable: true
description: 'This is required if individual is set to false
The dba name'
example: Steven
url:
type: string
nullable: true
description: 'This is required if individual is set to false
The Website Address/URL, if applicable'
example: sampleurl.com
typeOfBusiness:
type: string
nullable: true
description: 'This is required if individual is set to false
The type of business this is. This will be defined as one of the following below:
- Corporation
- LLC
- Sole Proprietorship
- Medical or legal corporation
- Association/Estate/Trust
- Partnership
- Tax Exempt Organization (501c)
- Charity
- International organization
- Government/Municipality
- Not for Profit
- Trust
- Professional Association'
example: Corporation
dateOfIncorporation:
type: string
nullable: true
description: 'This is required if individual is set to false
The date of incorporation'
example: '2000-01-01'
countryOfRegistration:
type: string
nullable: true
description: 'This is required if individual is set to false
The country of registration of the person or individual'
example: CA
provinceOfRegistration:
type: string
nullable: true
description: 'This is required if individual is set to false
The province of the person or individual'
example: 'ON'
businessTaxId:
type: string
nullable: true
description: The business Tax ID
example: '12312'
clientId:
type: string
nullable: false
description: The client ID
example: '12312'
AMCSPayCheckAccountResponse:
type: object
properties:
Data:
type: object
$ref: '#/components/schemas/AMCSPayCheckAccountResponseData'
Error:
type: array
nullable: true
description: Contains the error description of the response
items:
$ref: '#/components/schemas/AMCSAptPayErrorDataResponse'
IsSuccess:
type: boolean
nullable: false
description: Returns true if it doesn't contains error; False if it contains error
AMCSPayDisbursementGetSupplierResponse:
type: object
properties:
result:
type: object
description: Holds the response object depends on the provider.
$ref: '#/components/schemas/AMCSAptPayDisbursementGetSupplierDataResponse'
AMCSAptPayBasicDataResponse:
type: object
properties:
id:
type: string
nullable: false
description: Generated ID from the API
example: '183867559356'
status:
type: string
nullable: false
description: Contains the status of the request
example: AML check in progress
AMCSPayCheckAccountResponseData:
type: object
properties:
receiving:
type: boolean
example: true
description: This indicates if the card is eligible to receive funds. This will return a value of either true or false.
sending:
type: boolean
example: false
description: This indicates if the card is eligible to send funds. This will return a value of either true or false.
network:
type: string
example: MASTERCARD
description: 'The network the transaction takes place over (example: MasterCard)'
funds_availability:
type: string
example: IMMEDIATE
description: The duration of time required to send funds to the Payee's account
type:
type: string
example: DEBIT
description: Type of card used for disbursement (ie., debit, credit, etc.)
country:
type: string
example: CAN
description: The country in which the card was issued
currency:
type: string
example: CAD
description: The currency available on the card.
AMCSPayDisbursementAddSupplierRequest:
type: object
required:
- provider
- data
properties:
provider:
type: string
nullable: false
description: 'Provider to use to add supplier for disbursement.
- AptPay'
example: AptPay
data:
type: object
nullable: false
description: Holds the request object depends on the provider.
$ref: '#/components/schemas/AMCSAptPayAddIdentityRequest'
AMCSAptPayGetTranStatusBasicDataResponse:
type: object
properties:
status:
type: string
nullable: false
description: Contains the status of the response
example: SETTLED
message:
type: string
nullable: false
description: Contains the detailed description of the response
example: ''
AMCSAptPayGetIdentityResponse:
type: object
properties:
Data:
type: object
nullable: true
$ref: '#/components/schemas/AMCSAptPayGetIdentityDataResponse'
Error:
type: array
nullable: true
description: Contains the error description of the response
items:
$ref: '#/components/schemas/AMCSAptPayErrorDataResponse'
IsSuccess:
type: boolean
nullable: false
description: Returns true if it doesn't contains error; False if it contains error
AMCSPayDisbursementAddDisbursementResponse:
type: object
properties:
result:
type: object
description: Holds the response object depends on the provider.
$ref: '#/components/schemas/AMCSAptPayAddDisbursementDataResponse'
AMCSPayDisbursementAddDisbursementRequest:
type: object
required:
- provider
- data
properties:
provider:
type: string
nullable: false
description: 'Provider to use to add disbursement.
- AptPay'
example: AptPay
data:
type: object
nullable: false
description: Holds the request object depends on the provider.
$ref: '#/components/schemas/AMCSAptPayAddDisbursementRequest'
AMCSAptPayDisbursementGetSupplierDataResponse:
type: object
properties:
id:
type: number
example: '183867559356'
firstName:
type: string
example: Steven
middleName:
type: string
example: Oliver
lastName:
type: string
example: Kyamko
country:
type: string
example: CA
dateOfBirth:
type: string
example: '2000-01-01'
phone:
type: string
example: '+639201001111'
occupation:
type: string
example: Janitor
individual:
type: boolean
example: true
clientId:
type: string
example: '12312'
name:
type: string
example: TestStevenK
email:
type: string
example: jametests@gmail.com
status:
type: string
example: ACTIVE
amlStatus:
type: string
example: PASSED
businessTaxId:
type: string
example: '12312'
street:
type: string
example: Street 1
streetLine2:
type: string
example: Street 2
city:
type: string
example: Toronto
province:
type: string
example: 'ON'
zip:
type: string
example: L4K 0J7
dbaName:
type: string
example: Steven
url:
type: string
example: sampleurl.com
typeOfBusiness:
type: string
example: Corporation
dateOfIncorporation:
type: string
example: '2000-01-01'
countryOfRegistration:
type: string
example: CA
provinceOfRegistration:
type: string
example: 'ON'
selfVerify:
type: boolean
example: true
nationalIdentityNumber:
type: string
example: ''
AMCSAptPayGetTranStatusResponse:
type: object
properties:
Data:
type: object
nullable: true
$ref: '#/components/schemas/AMCSAptPayGetTranStatusBasicDataResponse'
Error:
type: array
nullable: true
description: Contains the error description of the response
items:
$ref: '#/components/schemas/AMCSAptPayErrorDataResponse'
IsSuccess:
type: boolean
nullable: false
description: Returns true if it doesn't contains error; False if it contains error
AMCSAptPayGetTranStatusRequest:
type: object
required:
- transactionId
properties:
transactionId:
type: string
nullable: false
description: The transaction id of the request
example: mi5gkghovd-0119-qgdgtosuxd7ehxbe5h2oiwae
AMCSAptPayGetIdentityDataResponse:
properties:
id:
type: integer
nullable: false
individual:
type: boolean
nullable: false
name:
type: string
nullable: true
firstName:
type: string
nullable: true
middleName:
type: string
nullable: true
lastName:
type: string
nullable: true
dateOfBirth:
type: string
nullable: true
phone:
type: string
nullable: true
occupation:
type: string
nullable: true
street:
type: string
nullable: true
streetLine2:
type: string
nullable: true
city:
type: string
nullable: true
zip:
type: string
nullable: true
country:
type: string
nullable: true
province:
type: string
nullable: true
email:
minLength: 1
type: string
dbaName:
type: string
nullable: true
url:
type: string
nullable: true
typeOfBusiness:
type: string
nullable: true
dateOfIncorporation:
type: string
nullable: true
countryOfRegistration:
type: string
nullable: true
provinceOfRegistration:
type: string
nullable: true
businessTaxId:
type: string
nullable: true
clientId:
minLength: 1
type: string
selfVerify:
type: boolean
nullable: true
nationalIdentityNumber:
type: string
nullable: true
AMCSAptPayAddDisbursementDataResponse:
type: object
properties:
id:
type: string
example: 6xxpsbbxjj-0119-hclhajwncvxejiefxgjatcen
description: This is the transaction ID of the transaction
status:
type: string
example: ACCEPTED
description: This provides a message that describes the status of the transaction
referenceId:
type: string
example: '23232131554'
description: Reference transaction ID
AMCSAptPayErrorDataResponse:
type: object
properties:
ErrorKey:
type: string
nullable: false
description: Contains error key
example: ''
ErrorMessage:
type: string
nullable: false
description: Contains the detailed error message
example: ''
AMCSPayCheckAccountRequest:
type: object
required:
- amount
- currency
properties:
amount:
type: number
nullable: false
example: 10
description: Amount to be disbursed.
currency:
type: string
nullable: false
example: CAD
description: Currency to be used. This is expressed as a three-letter currency code (ie., CAD for Canadian dollars, USD for United States Dollars, etc.)
disbursementNumber:
type: string
example: '5333619503715702'
description: 'Required if instrumentId is not defined. Card number or account number'
instrumentId:
type: string
example: ''
description: 'Required if disbursementNumber is not defined. The Instrument ID'
program:
type: string
enum:
- B2B
- B2C
- G2C
- PayrollAndPension
- RapidMerchantSettlement
example: ''
description: Optional. Program ID. This is a code to denote the use case for product (B2B, B2C, G2C, PayrollAndPension, RapidMerchantSettlement)
expirationDate:
type: string
example: null
description: Optional. The card expiration date
AMCSPayDisbursementGetSupplierRequest:
type: object
required:
- provider
- data
properties:
provider:
type: string
nullable: false
description: 'Provider to use to get supplier for disbursement.
- AptPay'
example: AptPay
data:
type: object
nullable: false
description: Holds the request object depends on the provider.
$ref: '#/components/schemas/AMCSAptPayGetIdentityRequest'
AMCSPayDisbursementAddSupplierResponse:
type: object
properties:
result:
type: object
description: Holds the response object depends on the provider.
$ref: '#/components/schemas/AMCSAptPayBasicDataResponse'
AMCSAptPayAddDisbursementRequest:
type: object
required:
- amount
- currency
- transactionType
- referenceId
properties:
amount:
type: number
example: 12.01
description: Provide the amount to be disbursed
currency:
type: string
example: USD
description: 'The currency being used for the transaction.
This is expressed as a three-letter currency code (ie., CAD for Canadian dollars, USD for United States dollars, etc.).'
transactionType:
type: string
example: CARD
description: Provides a descriptor that expresses what kind of payment type is being processed. (ACH, CARD, or CHEQUE)
program:
type: string
enum:
- B2B
- B2C
- G2C
- PayrollAndPension
- RapidMerchantSettlement
example: B2B
description: Program ID. This is a code to denote the use case for product, ie., why are you using AptPay? The use case will determine what additional information will be needed in order to process the transaction.
disbursementNumber:
type: string
example: '5454545454545454'
description: 'Information inputted should be a Card or Personal Account Number (PAN) and must be 15-19 digits in length.
This is required if: This is a push to card disbursement or if instrumentId is not defined.'
chequeNumber:
type: integer
example: 12345678
description: 'The cheque number, this is required for Transaction Type CHEQUE.'
bankNumber:
type: string
example: '123'
description: 'Provide the bank number, this is a 3-digit number.
This is required for EFT transfers.'
branchTransitNumber:
type: string
example: '123456789'
description: 'ABA routing number
ACH transfers: 9-digit number
This is required for:- ACH transfers.'
accountNumber:
type: string
example: '123456789'
description: 'Account number
ACH transfers: 9 or 10 digit number
This is required for:- ACH transfers'
instrumentId:
type: string
example: '12345'
description: 'Provide the instrument ID. This is the ISIN and/or Common Code of the security that is the subject of the associated instruction.
This is required if transactionNumber is not defined.'
expirationDate:
type: string
example: 2026-11
description: 'Provide card expiration date. (Format: YYYY-MM)'
identityId:
type: string
example: '762780560211'
description: 'Optional for transaction type CHEQUE if First Name and Last Name is provided for Individual Identities or BusinessName for Business Entities.
This is required for other transaction types. Identity Id must be greater than 0.'
referenceId:
type: string
example: AMCSPAYREF-a4121922-e796-4de0-9058-b0fb00e3a46e
description: Reference transaction ID
firstName:
type: string
example: Jane
description: 'Provide the first name for the individual (max 50 characters).
This is required for EFT/CHEQUE if identityId is not specified.
This is a required field for individual identities.'
lastName:
type: string
example: Doe
description: 'Provide the last name for the individual (max 50 characters).
This is required for EFT/CHEQUE if identityId is not specified.
This is a required field for individual identities.'
businessName:
type: string
example: JD Inc.
description: 'Provide the business entity name.
This is required for EFT/CHEQUE if identityId is not specified.
This is required for business entities.'
supplierId:
type: integer
example: 123
description: The id of the supplier that you are making the invoice payment for.
supplierBills:
type: string
example: '[{"financialDocumentId":2496,"companyOutletId":1,"customerId":135,"ticketNumber":"CI1027","transactionDate":"2023-10-11T16:00:00.000Z","financialDocumentStatusId":1,"numberOfTickets":1,"customerName":"Testing supplier","amountDue":37,"currency":"$","maxCashPaymentAmount":null,"maxChequePaymentAmount":null,"tickets":[{"financialDocumentId":2496,"weighingId":75,"ticketNumber":"SWPS1039","transactionDate":"2023-10-11T16:00:00.000Z","materials":"Wood Packaging","taxAmount":6.17,"amountDue":37,"amountPaidByCash":null,"amountPaidByCheque":null,"currency":"$","exceptions":"","defaultImmediatePayablePaymentTypeId":2}]}]'
description: List of supplier invoice tickets.
additionalProperties: false
AMCSAptPayGetIdentityRequest:
type: object
required:
- id
properties:
id:
type: number
nullable: false
description: The identity id of the request
example: '123'