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'