openapi: 3.0.1
info:
title: Core AccessGroup ExternalTransaction API
version: core
tags:
- name: ExternalTransaction
paths:
/ExternalTransaction/OneOff:
post:
tags:
- ExternalTransaction
summary: OneOff Payment
description: "This endpoint is used to initiate a payment/tokenization request via the Provider's hosted payments page (HPP).\n\n## Request\n\n| Property | Description |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| RequestType |Request Type can be any of \"OneOffPayment\", \"Tokenization\". |\r\n| PaymentType | Payment Type can be any of \"CARD\", \"ACH\", \"EFT\". |\r\n| TransactionOrigin | Transaction Origin can be any of \"MOTO\", \"ECOM\" |\r\n| CallerIdentifier | The Caller Identification associated to the Payment request. |\r\n| RequestId | The Caller supplied GUID associated to the Payment request. |\r\n| ProviderType |Provide Type can be any of \"ACICards\", \"ACIElectronic\", \"Heartland\", \"MerchantPartners\", \"Payment Express\", \"Realex\" |\r\n| ConfigurationId |The configuration id associated to the Tenant. |\r\n| TransactionAmount |The amount associated to the payment request. |\r\n| TransactionAmount.PrincipalAmount |The base amount associated to the payment request (This field is optional for Tokenization). |\r\n| TransactionAmount.Currency |The currency associated to the payment request. |\r\n| CanStoreProfile | The flag suggests store the profile to vault. |\r\n| CompletionURL | The Completion URL Request associated to the customer mandate for webhooks. |\r\n| RedirectURL | The Redirect URL associated to the customer mandate for redirection. |\r\n| Addresses | The List of addresses associated to the customer mandate for 3ds transaction (Billing address is mandatory for 3ds enabled transaction). |\r\n| Addresses[0].AddressType | The AddressType associated to the address can be any of \"Billing\", \"Shipping\". |\r\n| Addresses[0].StreetAddress1 | The StreetAddress Line1 associated to the address. |\r\n| Addresses[0].StreetAddress2 | The StreetAddress Line2 associated to the address. |\r\n| Addresses[0].StreetAddress3 | The StreetAddress Line3 associated to the address (Conditionally required). |\r\n| Addresses[0].City | The City associated to the address. |\r\n| Addresses[0].State | The State associated to the address. |\r\n| Addresses[0].PostCode | The PostCode associated to the address. |\r\n| Addresses[0].Country | The Country associated to the address. |\r\n| Addresses[0].ISO3166Numeric | The ISO3166Numeric associated to the address (Conditionally required). |\r\n| Contacts | The Contacts associated to the customer mandate for 3ds transaction (Contact type 'Mobile' and 'Email' are mandatory for 3ds enabled transaction). |\r\n| Contacts[0].ContactType | The Contact Type associated to the contact can be any of type \"Email\", \"Mobile\". |\r\n| Contacts[0].ContactValue | The Contact Value associated to the contact type. |\r\n| CustomerInfo | The Details associated to the customer mandate for risk assessment (Conditionally required for making payments using ACI Cards). |\r\n| CustomerInfo.CustomerName | The Customer Name associated to the customer. |\r\n| CustomerInfo.CustomerId | The Customer Id associated to the customer. |\r\n| CustomerInfo.CustomerIP | The Customer Ip associated to the customer. |\r\n| CustomerInfo.CustomerStatus | The Customer Status associated to the customer. |\r\n| CustomerInfo.WebsiteUrl | The Website Url associated to the customer.\n\n## Response\n\n| Property | Description |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| HppUrl | The Hosted Payment Page Url to load in a frame/browser. |\r\n| CallerTransactionId | The AMCS generated Request GUID associated to the Payment request. |\r\n| TransactionAmount |The amount associated to the payment request. |\r\n| TransactionAmount.PrincipalAmount |The base amount associated to the payment request (This field is optional for Tokenization). |\r\n| TransactionAmount.Currency |The currency associated to the payment request. |\r\n| TransactionStatus | The Transaction Status associated to the Payment request."
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayInitiatePaymentRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayInitiatePaymentResponse'
'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'
/ExternalTransaction/ImmediateOneOff:
post:
tags:
- ExternalTransaction
summary: Immediate OneOff Payment
description: "This endpoint is used to make an immediate payment/tokenization request.\n\n## Request\n\n| Property | Description |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n| RequestType |Request Type can be any of \"OneOffPayment\", \"Tokenization\". |\r\n| PaymentType | Payment Type can be any of \"ACH\", \"EFT\". |\r\n| CallerIdentifier | The Caller Identification associated to the Payment request. |\r\n| RequestId | The Caller supplied GUID associated to the Payment request. |\r\n| ProviderType |Provide Type can be \"EftCanada\" |\r\n| ConfigurationId |The configuration id associated to the Tenant. |\r\n| TransactionAmount |The amount associated to the payment request. |\r\n| TransactionAmount.PrincipalAmount |The base amount associated to the payment request (This field is optional for Tokenization). |\r\n| TransactionAmount.Currency |The currency associated to the payment request. |\r\n| Addresses | The List of addresses associated to the customer mandate for 3ds transaction (Billing address is mandatory for 3ds enabled transaction). |\r\n| Addresses[0].AddressType | The AddressType associated to the address can be any of \"Billing\", \"Shipping\". |\r\n| Addresses[0].StreetAddress1 | The StreetAddress Line1 associated to the address. |\r\n| Addresses[0].StreetAddress2 | The StreetAddress Line2 associated to the address. |\r\n| Addresses[0].StreetAddress3 | The StreetAddress Line3 associated to the address (Conditionally required). |\r\n| Addresses[0].City | The City associated to the address. |\r\n| Addresses[0].State | The State associated to the address. |\r\n| Addresses[0].PostCode | The PostCode associated to the address. |\r\n| Addresses[0].Country | The Country associated to the address. |\r\n| Addresses[0].ISO3166Numeric | The ISO3166Numeric associated to the address (Conditionally required). |\r\n| Contacts | The Contacts associated to the customer mandate for 3ds transaction (Contact type 'Mobile' and 'Email' are mandatory for 3ds enabled transaction). |\r\n| Contacts[0].ContactType | The Contact Type associated to the contact can be any of type \"Email\", \"Mobile\". |\r\n| Contacts[0].ContactValue | The Contact Value associated to the contact type. |\r\n| CustomerInfo | The Details associated to the customer mandate for risk assessment (Conditionally required for making payments using EftCanada). |\r\n| CustomerInfo.CustomerName | The Customer Name associated to the customer(Conditionally required for making payments using EftCanada). |\r\n| CustomerInfo.CustomerId | The Customer Id associated to the customer. |\r\n| CustomerInfo.CustomerIP | The Customer Ip associated to the customer. |\r\n| CustomerInfo.CustomerStatus | The Customer Status associated to the customer. |\r\n| CustomerInfo.WebsiteUrl | The Website Url associated to the customer. |\r\n| BankInfo | The Bank Info associated to the customer. |\r\n| BankInfo.Ach | The Ach Bank Info associated to the customer (Required when Payment Type is ACH). |\r\n| BankInfo.Ach.AccountNumber | The Ach Account Number associated to the customer. |\r\n| BankInfo.Ach.AccountType | The Ach Account Type associated to the customer and could be one of \"PersonalSavings\", \"PersonalCheckings\", \"BusinessSavings\", \"BusinessCheckings\". |\r\n| BankInfo.Ach.RoutingNumber | The Ach Routing Number associated to the customer. |\r\n| BankInfo.Eft | The Eft Bank Info associated to the customer (Required when Payment Type is EFT). |\r\n| BankInfo.Eft.AccountNumber | The Eft Account Number associated to the customer. |\r\n| BankInfo.Eft.TransitNumber | The Eft Transit Number associated to the customer. |\r\n| BankInfo.Eft.InstitutionNumber | The Eft Institution Number associated to the customer.\n\n## Response\n\n| Property | Description |\r\n| ------------------------- | ------------------------------------------------------------------------|\r\n|CallerTransactionId | The AMCS generated Request GUID associated to the payments. |\n| AMCSPayReferenceId | The AMCS generated Response GUID associated to the Payment request. |\n| ProviderReference | The reference number associated to the payment provider. |\n| ProviderResponseCode | The response code associated to the payment provider. |\n| Notes | More information associated to the payment. |\n| ProviderAuthCode | The authorization code associated to the payment provider. |\n| ResponseTimeStamp | The Timestamp of the payment response payload. |\n| TransactionStatus | The Transaction Status associated to the payment can be any of type \"Initiated\", \"Success\", \"Failure\", \"Timeout\", \"Cancelled\". |\n| TokenReference | The Token Reference sent by the provider associated to the original payment (Tokenisation Response). |\n| HistoryReference | The history reference data sent by the provider associated to the original payment (Tokenisation Response). |\n| MaskedProfileNumber | The Profile/Card Number sent by the provider associated to the original payment (Tokenisation Response) (Conditionally required). |\n| ProfileType | The Profile/Card Type sent by the provider associated to the original payment (Tokenisation Response). |\n| ProfileHolder | The Profile/Card Holder Name sent by the provider associated to the original payment (Tokenisation Response). |\r\n| TransactionAmount |The amount associated to the payment request. |\r\n| TransactionAmount.PrincipalAmount |The base amount associated to the payment request (This field is optional for Tokenization). |\r\n| TransactionAmount.Currency |The currency associated to the payment request. |\r\n| ErrorCondition |The error condition associated to the payment request. "
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayImmediatePaymentRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayPollPaymentResponse'
'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'
/ExternalTransaction/Poll:
get:
tags:
- ExternalTransaction
summary: Poll Payment
description: "This endpoint is used to poll AmcsPay to ask for query transactions or to read the transaction response back to AmcsPay from the payment provider using CallerTransactionId or RequestId.\n\n## Request\n\n| **Property** | **Description** |\n| --- | --- |\n| CallerTransactionId | The AMCS generated Request GUID associated to the payments. |\n| RequestId | The Caller Supplied Request GUID associated to the payments. |\n\n## Response\n\n| **Property** | **Description** |\n| --- | --- |\n| CallerTransactionId | The AMCS generated Request GUID associated to the payments. |\n| AMCSPayReferenceId | The AMCS generated Response GUID associated to the Payment request. |\n| ProviderReference | The reference number associated to the payment provider. |\n| ProviderResponseCode | The response code associated to the payment provider. |\n| Notes | More information associated to the payment. |\n| ProviderAuthCode | The authorization code associated to the payment provider. |\n| ResponseTimeStamp | The Timestamp of the payment response payload. |\n| TransactionStatus | The Transaction Status associated to the payment can be any of type \"Initiated\", \"Success\", \"Failure\", \"Timeout\", \"Cancelled\". |\n| TokenReference | The Token Reference sent by the provider associated to the original payment (Tokenisation Response). |\n| HistoryReference | The history reference data sent by the provider associated to the original payment (Tokenisation Response). |\n| MaskedProfileNumber | The Profile/Card Number sent by the provider associated to the original payment (Tokenisation Response) (Conditionally required). |\n| ProfileType | The Profile/Card Type sent by the provider associated to the original payment (Tokenisation Response). |\n| ProfileHolder | The Profile/Card Holder Name sent by the provider associated to the original payment (Tokenisation Response). |\n| ProfileExpiryDate | The Profile/Card expiry date sent by the provider associated to the original payment in (MM/YY) format. |\r\n| TransactionAmount |The amount associated to the payment request. |\r\n| TransactionAmount.PrincipalAmount |The base amount associated to the payment request (This field is optional for Tokenization). |\r\n| TransactionAmount.Currency |The currency associated to the payment request. |\r\n| ErrorCondition |The error condition associated to the payment request."
parameters:
- name: callerTransactionId
in: query
required: false
schema:
type: string
format: uuid
example: 827b7e68-2c52-43aa-9820-b02f006fa971
description: Required for all payments.
- name: requestId
in: query
required: false
schema:
type: string
format: uuid
example: 827b7e68-2c52-43aa-9820-b02f006fa971
description: Required for terminal payments if a response is not received.
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayPollPaymentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'401':
description: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
/ExternalTransaction/Poll/GetAll:
get:
tags:
- ExternalTransaction
summary: Get All Payment Response Details
description: This endpoint is used to get the payment transaction details based on the set filter criteria.
parameters:
- name: DateFrom
in: query
required: true
schema:
type: string
format: dateTimeOffset
example: '2023-06-28T06:46:32.910Z'
description: Date From is the user input in W3C-DTF Date format [YYYY-MM-DDThh:mm:ss.sTZD]. It cannot be later than the current date.
- name: DateTo
in: query
required: true
schema:
type: string
format: dateTimeOffset
example: '2023-06-28T07:00:00.000Z'
description: Date To is the user input in W3C-DTF Date format [YYYY-MM-DDThh:mm:ss.sTZD]. It cannot be later than the current date or the date from value.
- name: CustomerId
in: query
schema:
type: string
description: The customerId associated to the customer or the ARAccountCode account code used for Accounts Receivable.
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AMCSPayPollGetAllPaymentResponse'
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/AMCSPayPollGetAllPaymentResponse'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/AMCSPayPollGetAllPaymentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'401':
description: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
/ExternalTransaction/Refund:
post:
tags:
- ExternalTransaction
summary: Refund Payment
description: "This endpoint is used to request a refund for a Card/ACH payment already processed via AmcsPay.\n\n## Request\n\n| **Property** | **Description** |\n| --- | --- |\n| RequestType | Request Type is \"Refund\". |\n| PaymentType | Payment Type can be any of \"CARD\", \"ACH\", \"EFT\", \"TERMINAL\".| \n| TransactionOrigin | For Refund, transaction origin can only be \"MOTO\". |\n| CallerIdentifier | The identification associated to the calling application.| \n| RequestId | The Caller supplied GUID associated to the Payment request.|\n| CallerIPAddress | The IP Address associated to the the customer's location.|\n| ProviderType | Provide Type can be any of \"ACICards\", \"ACIElectronic\", \"Heartland\", \"MerchantPartners\", \"Payment Express\", \"Realex\", \"EftCanada\", \"TerminalPay\", \"ElavonTerminalPay\".| \n| TransactionAmount | The amount subjected for refund.|\n| OriginalPaymentReference | The reference ID sent by the provider associated to the original payment being refunded.|\n| OriginalAmount | The original amount sent by the provider associated to the original payment being refunded. |\n| TokenValue | The Token value associated to the payment. |\n| ProfileExpiryDate | The Profile/Card expiry date sent by the provider associated to the original payment in (MM/YY) format. |\n| CustomerInfo | The customer details associated to the refund request. |\n\n## Response\n\n| **Property** | **Description** |\n| --- | --- |\n| AMCSPayReferenceId | The AMCS generated Response GUID associated to the Payment request. |\n| ProviderReference | The reference number associated to the payment provider response. |\n| ProviderResponseCode | The status code associated to the payment provider response. |\n| ProviderAuthCode | The authorization code associated to the payment provider. |\r\n| TransactionAmount |The amount associated to the payment request. |\r\n| TransactionAmount.PrincipalAmount |The base amount associated to the payment request (This field is optional for Tokenization). |\r\n| TransactionAmount.Currency |The currency associated to the payment request. |\n| ResponseTimeStamp | The time stamp associated to the response payload. |\n| Notes | More information associated to the payment. |\n| TransactionStatus | The Transaction Status associated to the refund response can be any of type \"Initiated\" or \"Failure\". |\n| CustomerInfo | The customer details associated to the refund response. |"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayRefundRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayRefundResponse'
'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'
/ExternalTransaction/Vault:
post:
tags:
- ExternalTransaction
summary: Vault Payment
description: This endpoint is used to make a payment using the saved profile(Card / ACH) via AmcsPay.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayVaultRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayVaultResponse'
'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'
/ExternalTransaction/Terminal:
post:
tags:
- ExternalTransaction
summary: Terminal Payment
description: 'This endpoint is used to make a card payment using a terminal device.
## Request
| Property | Description |
| --- | --- |
| ProviderType | Provide Type can be any of "TerminalPay", and "ElavonTerminalPay". |
| CallerIdentifier | The Caller Identification associated to the Payment request. |
| RequestId | The Caller supplied Request GUID associated to the Payment request. |
| TerminalId | The Terminal Id is the verifone terminal identity like a device serial number or a friendly name. |
| TransactionAmount | The Amount associated to the payment request. |
| TransactionAmount.PrincipalAmount | The Principal Amount associated to the payment request. |
| TransactionAmount.Currency | The Currency associated to the payment request. |
| CardEntryMode | The Card entry mode of the payment instrument information. |
| EmailAddress | The e-mail address associated to the payment requestor. |
## Response
| **Property** | **Description** |
| --- | --- |
| TransactionStatus | The Transaction Status associated to the payment can be any of type "Success", "Failure", "Partial". For Partial, Check the device if payment is processed, Poll it. |
| AMCSPayReferenceId | The AMCS generated response GUID associated to the Payment request. |
| ProviderReference | The reference number associated to the payment provider. |
| ProviderResponseCode | The response code associated to the payment provider. |
| ProviderAuthCode | The authorization code associated to the payment provider. |
| TokenValue | The Token value associated to the payment. |
| ResponseTimeStamp | The Timestamp of the payment response payload. |
| Notes | More information associated to the payment transaction. |
| TransactionAmount | The Amount associated to the payment response. |
| TransactionAmount.PrincipalAmount | The Principal Amount associated to the payment response. |
| TransactionAmount.Currency | The Currency associated to the payment response. |
| MaskedProfileNumber | The Profile/Card Number sent by the provider associated to the original payment. |
| ProfileHolder | The Profile/Card Holder Name sent by the provider associated to the original payment. |
| ProfileExpiryDate | The Profile/Card expiry date sent by the provider associated to the original payment in (MM/YY) format. |
| CallerTransactionId | The AMCS generated Request GUID associated to the hosted payments page. |
| ErrorCondition |The error condition associated to the payment request. |'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayTerminalRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayTerminalResponse'
'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'
/ExternalTransaction/TerminalAbort:
post:
tags:
- ExternalTransaction
summary: Terminal Payment Abort
description: 'This endpoint is a signal used to abort a card payment requested using a terminal device.
## Request
| Property | Description |
| --- | --- |
| ProviderType | Provide Type can be any of "ElavonTerminalPay" and "TerminalPay". |
| CallerIdentifier | The Caller Identification associated to the Payment request. |
| RequestId | The Caller supplied Request GUID associated to the Payment request. |
| RequestType | Request Type is "Abort". |
| TerminalId | The Terminal Id is the verifone terminal device serial number. |
| EmailAddress | The e-mail address associated to the abort request. |
| Reason | The reason associated to the abort request is conditionally required. |'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayTerminalAbortRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayInfoResponse'
'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'
/ExternalTransaction/DeleteToken:
post:
tags:
- ExternalTransaction
summary: Delete Token
description: This endpoint is used to delete Card Tokens from the vault for both AMCS Pay and Payment provider gateway.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDeleteProfileRequest'
text/json:
schema:
$ref: '#/components/schemas/AMCSPayDeleteProfileRequest'
application/*+json:
schema:
$ref: '#/components/schemas/AMCSPayDeleteProfileRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayDeleteProfileResponse'
text/json:
schema:
$ref: '#/components/schemas/AMCSPayDeleteProfileResponse'
application/*+json:
schema:
$ref: '#/components/schemas/AMCSPayDeleteProfileResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'401':
description: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayErrorResponse'
/ExternalTransaction/GetServiceFee:
post:
tags:
- ExternalTransaction
summary: Get ServiceFee
description: This endpoint is used to get the service fee.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayGetServiceFeeRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayGetServiceFeeResponse'
'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'
/ExternalTransaction/RetryTransaction:
post:
tags:
- ExternalTransaction
summary: Retry Transaction
description: This endpoint is used to retry a previously failed transaction via AmcsPay
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayRetryTransactionRequest'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayRetryTransactionResponse'
'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'
/ExternalTransaction/CreateCustomer:
post:
tags:
- ExternalTransaction
summary: Create Customer
description: This endpoint is used to create a new customer and optionally create a payment account for that customer with the specified payment provider.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayCreateCustomerRequest'
text/json:
schema:
$ref: '#/components/schemas/AMCSPayCreateCustomerRequest'
application/*+json:
schema:
$ref: '#/components/schemas/AMCSPayCreateCustomerRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AMCSPayCreateCustomerResponse'
text/json:
schema:
$ref: '#/components/schemas/AMCSPayCreateCustomerResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AMCS.Pay.Entity.Api.Payments.ExternalTransaction.ApiErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/AMCS.Pay.Entity.Api.Payments.ExternalTransaction.ApiErrorResponse'
'500':
description: Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/AMCS.Pay.Entity.Api.Payments.ExternalTransaction.ApiErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/AMCS.Pay.Entity.Api.Payments.ExternalTransaction.ApiErrorResponse'
components:
schemas:
AMCSPayGetServiceFeeResponse:
type: object
properties:
serviceFee:
type: number
format: double
example: '0.2'
description: The service fee associated to the response.
percentage:
type: number
format: double
example: '2'
description: The percentage associated to the response.
principalAmount:
type: number
format: double
example: '10'
description: The base amount associated to the payment request (This field is optional for Tokenization).
total:
type: number
format: double
example: '10.2'
description: The total associated to the response.
termsAndConditions:
type: object
$ref: '#/components/schemas/TermsAndConditions'
nullable: false
description: The terms and conditions associated to the response.
AMCSPayBankInfo:
type: object
properties:
eft:
type: object
$ref: '#/components/schemas/AMCSPayEftBankInfo'
nullable: true
ach:
type: object
$ref: '#/components/schemas/AMCSPayAchBankInfo'
nullable: true
additionalProperties: false
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.
AMCSPayCreateCustomerResponse:
type: object
properties:
providerCustomerAccount:
type: string
nullable: true
example: cus_N6mXoX2aG2e4eH
description: The unique identifier for the customer account created by the payment provider. For example, "cus_N6mXoX2aG2e4eH" is a Stripe customer ID.
paymentAccount:
$ref: '#/components/schemas/AMCSPayCreatePaymentAccountResponse'
additionalProperties: false
AMCSPayDeleteProfileResponse:
type: object
properties:
amcsPayReferenceId:
type: string
nullable: true
format: uuid
example: f15da253-d85b-4e7d-99eb-b01b00de6dce
description: The AMCS Pay generated Response GUID associated to the Payment request.
providerReference:
type: string
nullable: true
example: 8ac7a49f8898f2af01889b33033902d1
description: The reference number associated to the payment provider.
providerResponseCode:
type: string
nullable: true
example: Success
description: The response code associated to the payment provider.
providerAuthCode:
type: string
nullable: true
example: null
description: The authorization code associated to the payment provider.
responseTimestamp:
type: string
format: dateTime
nullable: true
example: '2023-06-08T21:29:51.915166+08:00'
description: The Timestamp of the payment response payload.
notes:
type: string
nullable: true
example: " ACI Vault Transaction Id 8ac7a49f8898f2af01889b33033902d1\r\n\r\n Transaction Date 2023-06-08 13:29:51+0000\r\n\r\n Result code 000.100.110\r\n\r\n ResultDescription: Request successfully processed in 'Merchant in Integrator Test Mode'\r\n\r\n Payment Type \r\n\r\n "
description: More information associated to the AMCS Pay transaction.
transactionStatus:
enum:
- Success
- Failure
- Partial
type: string
description: The Transaction Status associated to the AMCS Pay transaction.
result:
$ref: '#/components/schemas/AMCSPayResult'
nullable: true
description: AMCS Pay standardised result code and message returned by the payment provider.
additionalProperties: false
AMCSPayPollGetAllPaymentResponse:
type: object
properties:
callerTransactionId:
type: string
format: uuid
nullable: true
example: 5b1e280c-ba76-4f90-982a-b028006721f4
description: The AMCS generated Request GUID associated to the Payment request.
amcsPayReferenceId:
type: string
format: uuid
nullable: true
example: 026b03bc-af5e-4615-8779-afe400ce9fdd
description: The AMCS generated Response GUID associated to the Payment request.
providerReference:
type: string
nullable: true
example: 8ac7a4a1877ca1eb01877fc082da054f
description: The reference number associated to the payment provider.
providerResponseCode:
type: string
nullable: true
example: Success
description: The response code associated to the payment provider.
providerAuthCode:
type: string
nullable: true
example: '12345'
description: The authorization code associated to the payment provider.
responseTimestamp:
type: string
format: dateTime
nullable: true
example: '2023-04-14T20:32:35.1965037+08:00'
description: The Timestamp of the payment response payload.
notes:
type: string
nullable: true
example: "ACI Cards Transaction Id 8ac7a4a1877ca1eb01877fc082da054f\r\n\r\n Transaction Date 2023-04-14 12:32:15+0000\r\n\r\n Result code 000.100.110\r\n\r\n ResultDescription: Request successfully processed in 'Merchant in Integrator Test Mode'\r\n\r\n Payment Type DB\r\n\r\n Card Holder jessah\r\n\r\n Card Expiry 01/2025\r\n\r\n"
description: More information associated to the payment.
transactionStatus:
enum:
- Initiated
- Success
- Failure
- Timeout
- Cancelled
- InvalidCardInformation
- Exception
type: string
nullable: true
example: Success
description: The Transaction Status associated to the payment.
transactionAmount:
$ref: '#/components/schemas/AMCSPayAmount'
requestType:
enum:
- OneOffPayment
- Tokenization
- VaultOrAutoPayment
- Refund
- DeleteToken
type: string
nullable: true
example: Tokenization
description: The payment transaction request type.
paymentType:
enum:
- CARD
- ACH
- GOOGLEPAY
- APPLEPAY
- EFT
type: string
nullable: true
example: CARD
description: The payment transaction payment type.
transactionOrigin:
enum:
- MOTO
- ECOM
type: string
nullable: true
example: MOTO
description: The payment transaction payment type.
callerIdentifier:
type: string
nullable: true
example: Tenant Name
description: The Caller Identification associated to the Payment request.
requestId:
type: string
format: uuid
nullable: true
example: 3e14bdf6-5b17-44aa-bf5b-2f7fb113daf9
description: The Caller supplied GUID associated to the payment request.
providerType:
enum:
- Test
- Realex
- Heartland
- MerchantPartners
- ACICards
- ACIElectronic
- AptPay
- PaymentExpress
- EftCanada
- TerminalPay
type: string
nullable: true
example: ACICards
description: The payment provider type.
customerInfo:
$ref: '#/components/schemas/AMCSPayCustomerInfo'
createdTimestamp:
type: string
format: dateTimeOffset
nullable: true
example: '2000-01-01T00:00:00.0000000+01:00'
description: The timestamp when the payment transaction is initiated.
tokenReference:
type: string
nullable: true
example: '72573620'
description: The Token Reference sent by the provider associated to the original payment (Tokenisation Response).
historyReference:
type: string
nullable: true
example: '1234567'
description: The history reference data sent by the provider associated to the original payment (Tokenisation Response).
profileExpiryDate:
type: string
nullable: true
example: 08/24
description: The Profile/Card expiry date sent by the provider associated to the original payment (Tokenisation Response) in (MM/YY) format.
maskedProfileNumber:
type: string
nullable: true
example: '************1234'
description: The masked Profile/Card Number sent by the provider associated to the original payment (Tokenisation Response) (Conditionally required).
profileType:
type: string
nullable: true
example: MasterCard
description: The Profile/Card Type sent by the provider associated to the original payment (Tokenisation Response).
profileHolder:
type: string
nullable: true
example: Joe Bloggs
description: The Profile/Card Holder Name sent by the provider associated to the original payment (Tokenisation Response).
result:
$ref: '#/components/schemas/AMCSPayResult'
nullable: true
description: AMCS Pay standardised result code and message returned by the payment provider.
additionalProperties: false
AMCSPayInitiatePaymentResponse:
type: object
properties:
hppUrl:
format: url
type: string
example: https://localhost/paybylink?key=092159d8-9e57-41a5-af6c-745bd45ff2f7
callerTransactionId:
format: uuid
example: 00000000-0000-0000-0000-000000000000
type: string
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
transactionStatus:
type: string
enum:
- Initiated
example: Initiated
AMCSPayContact:
type: object
properties:
contactType:
type: string
enum:
- Email
- Mobile
example: Email
nullable: false
contactValue:
type: string
example: 089748588788
nullable: false
AMCSPayAmount:
type: object
required:
- principalAmount
- currency
description: The amount associated to the payment.
properties:
principalAmount:
type: number
format: decimal
example: 40.1
nullable: true
description: The base amount associated to the payment request (This field is optional for Tokenization).
currency:
type: string
example: EUR
nullable: false
description: The currency associated to the payment request.
AMCSPayTerminalRequest:
type: object
required:
- requestId
- providerType
- callerIdentifier
- terminalId
- transactionAmount
- cardEntryMode
- requestType
properties:
requestType:
type: string
enum:
- OneOffPayment
nullable: false
providerType:
type: string
enum:
- TerminalPay
- ElavonTerminalPay
nullable: false
example: TerminalPay
callerIdentifier:
type: string
example: client-name
nullable: false
requestId:
type: string
format: uuid
example: 0d920c06-b568-442b-94cc-afe60176708f
nullable: false
terminalId:
type: string
example: 450-829-523
nullable: false
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
cardEntryMode:
type: string
enum:
- Rfid
- Keyed
- Manual
- File
- Scanned
- MagStripe
- Icc
- SynchronousIcc
- Tapped
- Contactless
- Mobile
nullable: false
example: Keyed
emailAddress:
type: string
nullable: true
example: amcspayuser@email.com
additionalProperties: false
AMCS.Pay.Entity.Api.Payments.ExternalTransaction.ApiErrorResponse:
type: object
properties:
message:
type: string
nullable: true
description: The exception message.
example: Payment Provider APG is not supported.
type:
type: string
nullable: true
description: The exception type.
example: System.Exception
stackTrace:
type: string
nullable: true
description: The stack trace of the exception.
example: ' at AMCS.Pay.Api.Controllers.PaymentsController.CreateCustomer(CreateCustomerRequest request) in /src/swaggerpay/AMCS.Pay.Api/Controllers/PaymentsController.cs:line 123'
additionalProperties: false
AMCSPayEftBankInfo:
type: object
properties:
accountNumber:
type: string
nullable: true
description: EFT Account Number
transitNumber:
type: string
nullable: true
description: EFT Transit Number
institutionNumber:
type: string
nullable: true
description: EFT Institution Number
additionalProperties: false
AMCSPayCreatePaymentAccountResponse:
type: object
description: Details of the customer account and payment account created if isCreatePaymentAccount is set to true in the request.
properties:
accountHolderName:
type: string
nullable: true
example: Waste Management Ltd
description: The name of the account holder for the payment account.
bankName:
type: string
nullable: true
example: HSBC
description: The name of the bank where the payment account is held.
bankCode:
type: string
nullable: true
example: 341-000
description: The bank code for the payment account.
accountNumber:
type: string
nullable: true
example: IE531653294928618999391
description: The account number for the payment account.
swiftCode:
type: string
nullable: true
example: HSBCAUTTXXX
description: The SWIFT code for the payment account.
currency:
enum:
- AUD
- EUR
type: string
example: AUD
description: The three-letter ISO currency code associated with the payment account. For example, "AUD" indicates that the account will operate in Australian Dollars.
paymentType:
enum:
- CREDIT_TRANSFER
type: string
example: CREDIT_TRANSFER
description: The type of payment account created. For example, "CREDIT_TRANSFER" indicates that a credit transfer account has been created.
country:
enum:
- AU
- DE
- FR
- IE
- NL
type: string
example: AU
description: The two-letter ISO country code representing the country where the payment account is held. For example, "AU" indicates Australia.
additionalProperties: false
AMCSPayInfoResponse:
type: object
properties:
message:
type: string
example: info message
nullable: true
AMCSPayVaultRequest:
required:
- requestType
- paymentType
- transactionOrigin
- callerIdentifier
- requestId
- providerType
- tokenReference
type: object
properties:
requestType:
type: string
enum:
- VaultOrAutoPayment
example: VaultOrAutoPayment
nullable: false
description: Request Type is "VaultOrAutoPayment".
paymentType:
type: string
enum:
- CARD
- ACH
- EFT
example: CARD
nullable: false
description: Payment Type can be any of "CARD", "ACH", "EFT".
transactionOrigin:
type: string
enum:
- MOTO
- ECOM
example: MOTO
nullable: false
description: Transaction Origin can be any of "MOTO", "ECOM".
callerIdentifier:
type: string
example: Elemos
nullable: false
description: The identification associated to the calling application.
requestId:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: false
description: The Caller supplied GUID associated to the Payment request.
providerType:
type: string
enum:
- ACICards
- ACIElectronic
- Heartland
- MerchantPartners
- PaymentExpress
- Realex
- EftCanada
example: ACICards
nullable: false
description: Provide Type can be any of "ACICards", "ACIElectronic", "Heartland", "MerchantPartners", "Payment Express", "Realex", "EftCanada".
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
description: The amount subjected for vault.
customerInfo:
type: object
$ref: '#/components/schemas/AMCSPayVaultCustomerInfo'
nullable: true
description: The Details associated to the customer mandate for risk assessment (Conditionally required for making payments using ACI Cards).
tokenReference:
type: string
example: 58af616d8b112af873be57bb627a7677bdffdc6a306ffdff26c6f6b59d917fe7
nullable: false
description: The Token Reference sent by the provider associated to the original payment.
historyReference:
type: string
example: '123456789012345'
nullable: true
description: The history reference data sent by the provider associated to the original payment (Conditionally required).
maskedProfileNumber:
type: string
example: 5454XXXXXXXX5454
nullable: true
description: The Masked Profile/Card Number sent by the provider associated to the original payment (Conditionally required).
AMCSPayDeleteProfileRequest:
required:
- requestType
- paymentType
- transactionOrigin
- callerIdentifier
- requestId
- referenceId
- providerType
type: object
properties:
requestType:
enum:
- OneOffPayment
- Tokenization
- VaultOrAutoPayment
- Refund
- DeleteToken
type: string
description: The request type for this endpoint is "DeleteToken".
paymentType:
enum:
- CARD
- ACH
- GOOGLEPAY
- APPLEPAY
type: string
description: The supported payment type for this endpoint is "CARD".
transactionOrigin:
enum:
- MOTO
- ECOM
type: string
callerIdentifier:
minLength: 1
type: string
example: Elemos
description: The identification associated to the calling application.
requestId:
type: string
format: uuid
example: 3e14bdf6-5b17-44aa-bf5b-2f7fb113daf9
description: The Caller supplied GUID associated to the payment request.
requestTimestamp:
type: string
format: dateTime
nullable: true
readOnly: true
example: '2023-06-08T21:29:51.915166+08:00'
description: The request time stamp when this endpoint was called.
providerType:
enum:
- Test
- Realex
- Heartland
- MerchantPartners
- ACICards
- ACIElectronic
- AptPay
- PaymentExpress
- EftCanada
- TerminalPay
type: string
example: ACICards
description: The payment providers integrated to AMCS Pay. This endpoint only supports "ACICards".
referenceId:
type: string
nullable: true
example: 8ac7a49f8898f2af018899c2fb6d22b0
description: The reference number associated to the payment provider upon Card Tokenization.
additionalProperties: false
AMCSPayCreateCustomerRequest:
required:
- customerInfo
- isCreatePaymentAccount
- providerType
type: object
properties:
providerType:
enum:
- Stripe
type: string
example: Stripe
description: The payment provider to be used. For example, "Stripe" indicates that Stripe will handle the customer account creation.
customerInfo:
$ref: '#/components/schemas/AMCSPayCreateCustomerDetail'
isCreatePaymentAccount:
type: boolean
nullable: false
example: true
description: Flag to indicate if a payment account should be created immediately for the new customer. true to create, otherwise false.
paymentAccount:
$ref: '#/components/schemas/AMCSPayPaymentAccount'
additionalProperties: false
AMCSPayCreateCustomerDetail:
required:
- customerId
- customerName
type: object
description: Contains details about the customer to be created.
properties:
customerId:
type: string
nullable: false
example: 8114533e-7968-4b67-a600-832d29a0e1c8
description: A unique identifier or external reference for the customer (could be from your system or an external system).
customerName:
type: string
nullable: false
example: Jane Doe
description: The full name of the customer being created.
additionalProperties: false
AMCSPayRetryTransactionResponse:
type: object
properties:
callerTransactionGuid:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: true
description: The RequestId when making One Off Payment or Refund
message:
type: string
nullable: true
example: Transaction retried successfully.
description: The message associated to the response.
dateCreated:
type: string
format: date-time
example: '2025-01-15T10:30:00Z'
nullable: true
description: The date and time when the retried transaction was created.
statusCode:
type: string
enum:
- Initiated
- Success
- Failure
- InvalidCardInformation
- Exception
- Cancelled
- Processing
example: Success
nullable: true
description: The status of the retry response.
payPortalResponseMessage:
type: string
nullable: true
description: The parsed provider specific response associated to the retried transaction.
payPortalCreditCardVaultResponseMessage:
type: string
nullable: true
description: The parsed provider specific credit card vault response (optional).
requestType:
type: string
enum:
- Payment
- Refund
- AutoPay
example: Payment
nullable: true
description: The request type associated to the retried transaction.
serviceFeeResponse:
$ref: '#/components/schemas/AMCSPayServiceFeePaymentDetails'
AMCSPayImmediatePaymentRequest:
type: object
required:
- requestType
- paymentType
- providerType
- transactionAmount
- callerIdentifier
- requestId
- customerInfo
- bankInfo
properties:
requestType:
type: string
enum:
- OneOffPayment
- Tokenization
nullable: false
paymentType:
type: string
enum:
- ACH
- EFT
nullable: false
callerIdentifier:
type: string
nullable: false
requestId:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: false
providerType:
type: string
enum:
- EftCanada
nullable: false
configurationId:
type: string
format: uuid
example: 928a3c6c-b80d-493d-a6aa-0fb8d2579860
nullable: true
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
addresses:
type: array
items:
$ref: '#/components/schemas/AMCSPayAddress'
nullable: true
contacts:
type: array
items:
$ref: '#/components/schemas/AMCSPayContact'
nullable: true
customerInfo:
type: object
$ref: '#/components/schemas/AMCSPayCustomerInfo'
nullable: true
bankInfo:
type: object
$ref: '#/components/schemas/AMCSPayBankInfo'
nullable: true
AMCSPayCustomerInfo:
type: object
properties:
customerName:
type: string
example: ''
nullable: true
customerId:
type: string
example: ACC1007
nullable: false
customerIP:
type: string
example: 000.000.0.000
nullable: true
customerStatus:
type: string
enum:
- NEW
- EXISTING
example: NEW
nullable: false
websiteUrl:
type: string
example: ''
nullable: true
additionalProperties: false
AMCSPayAddress:
type: object
properties:
addressType:
type: string
enum:
- Billing
- Shipping
example: Billing
nullable: false
streetAddress1:
type: string
example: 27, Longwood Avenue
nullable: false
streetAddress2:
type: string
example: South Circular
nullable: false
streetAddress3:
type: string
example: Road Dublin-08
nullable: true
city:
type: string
example: Dublin
nullable: false
state:
type: string
example: Munster
nullable: false
postCode:
type: string
example: '12345'
nullable: false
country:
type: string
example: Ireland
nullable: false
iSO3166Numeric:
type: string
example: '372'
nullable: false
TermsAndConditions:
type: object
required:
- TermsAndConditionsContent
- TermsAndConditionsId
- TermsAndConditionsContentId
description: The terms and conditions.
properties:
termsAndConditionsId:
type: integer
example: 1
nullable: true
description: The conditions Id associated to the terms and conditions.
termsAndConditionsContentId:
type: integer
example: 1
nullable: true
description: The terms and conditions ContentId associated to the terms and conditions content.
termsAndConditionsUrl:
type: string
example: https://na1-pay-dev.amcsplatform.com/TermsAndConditionsView/TermsAndConditions/54090c88-6451-485f-8e35-8037b9ae5ea0?termsAndConditionsContentId=3af76595-bf9d-4505-bef9-6e603dfc7ea8
nullable: true
description: The terms and conditions associated to the service fee.
AMCSPayRefundResponse:
type: object
properties:
amcsPayReferenceId:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: false
providerReference:
type: string
example: 8ac7a4a28749242d01874c7e648327b7
nullable: true
providerResponseCode:
type: string
example: Success
nullable: false
providerAuthCode:
type: string
example: ''
nullable: true
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
responseTimeStamp:
type: string
format: datetime
example: '2022-07-27 18:54:18.6767965 +08:00'
nullable: false
notes:
type: string
example: ''
nullable: true
transactionStatus:
type: string
enum:
- Success
- Failure
example: Success
nullable: false
result:
$ref: '#/components/schemas/AMCSPayResult'
nullable: true
description: AMCS Pay standardised result code and message returned by the payment provider.
customerInfo:
type: object
$ref: '#/components/schemas/AMCSPayCustomerInfo'
nullable: true
additionalProperties: false
AMCSPayGetServiceFeeRequest:
type: object
required:
- paymentType
- currency
- principalAmount
properties:
paymentType:
type: string
enum:
- CARD
- ACH
- EFT
nullable: false
description: Payment Type can be any of "CARD", "ACH", "EFT".
example: CARD
currency:
type: string
example: USD
nullable: false
description: The currency associated to the payment request.
principalAmount:
type: integer
example: 10
nullable: false
description: The base amount associated to the payment request (This field is optional for Tokenization).
AMCSPayVaultCustomerInfo:
type: object
required:
- customerName
- customerId
- customerIP
- customerStatus
properties:
customerName:
type: string
example: ''
nullable: true
description: The Customer Name associated to the customer.
customerId:
type: string
example: ACC1007
nullable: false
description: The Customer Id associated to the customer.
customerIP:
type: string
example: 000.000.0.000
nullable: true
description: The Customer Ip associated to the customer.
customerStatus:
type: string
enum:
- NEW
- EXISTING
example: NEW
nullable: false
description: The Customer Status associated to the customer.
websiteUrl:
type: string
example: ''
nullable: true
description: The Website Url associated to the customer.
additionalProperties: false
AMCSPayServiceFeePaymentDetails:
type: object
description: The service fee details associated to the transaction.
properties:
principalAmount:
type: number
format: double
example: 10
nullable: true
description: The base amount associated to the payment request.
serviceFeeAmount:
type: number
format: double
example: 0.2
nullable: true
description: The service fee amount associated to the payment request.
total:
type: number
format: double
example: 10.2
nullable: true
description: The total amount associated to the payment request.
termsAndConditions:
$ref: '#/components/schemas/TermsAndConditions'
AMCSPayInitiatePaymentRequest:
type: object
required:
- requestType
- paymentType
- transactionOrigin
- providerType
- transactionAmount
- callerIdentifier
- requestId
properties:
requestType:
type: string
enum:
- OneOffPayment
- Tokenization
nullable: false
paymentType:
type: string
enum:
- CARD
- ACH
- EFT
nullable: false
transactionOrigin:
type: string
enum:
- MOTO
- ECOM
nullable: false
callerIdentifier:
type: string
nullable: false
requestId:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: false
providerType:
type: string
enum:
- ACICards
- ACIElectronic
- Heartland
- MerchantPartners
- PaymentExpress
- Realex
- EftCanada
nullable: false
configurationId:
type: string
format: uuid
example: 928a3c6c-b80d-493d-a6aa-0fb8d2579860
nullable: true
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
canStoreProfile:
type: boolean
example: false
nullable: true
completionURL:
type: string
format: url
example: ''
nullable: true
redirectURL:
type: string
format: url
example: ''
nullable: true
addresses:
type: array
items:
$ref: '#/components/schemas/AMCSPayAddress'
nullable: true
contacts:
type: array
items:
$ref: '#/components/schemas/AMCSPayContact'
nullable: true
customerInfo:
type: object
$ref: '#/components/schemas/AMCSPayCustomerInfo'
nullable: true
AMCSPayPaymentAccount:
required:
- paymentType
- currency
- country
type: object
description: Details of the payment account to create if isCreatePaymentAccount is set to true.
properties:
paymentType:
enum:
- CREDIT_TRANSFER
type: string
example: CREDIT_TRANSFER
description: The type of payment account to create. For example, "CREDIT_TRANSFER" indicates that a credit transfer account will be created.
currency:
enum:
- AUD
- EUR
type: string
example: AUD
description: The currency code for the payment account. For example, "AUD" indicates that the account will operate in Australian Dollars.
country:
enum:
- AU
- DE
- FR
- IE
- NL
type: string
example: AU
description: The two-letter ISO country code representing the country where the payment account is held. For example, "AU" indicates Australia.
additionalProperties: false
AMCSPayRetryTransactionRequest:
required:
- callerTransactionIdentifier
- paymentChannelId
type: object
properties:
callerTransactionIdentifier:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: false
description: The RequestId when making One Off Payment or Refund
paymentChannelId:
type: string
enum:
- ACICards
example: ACICards
nullable: false
description: The payment channel/provider to use for the retry.
AMCSPayAchBankInfo:
type: object
properties:
accountNumber:
type: string
nullable: true
description: ACH Account Number
accountType:
type: string
enum:
- PersonalSavings
- BusinessSavings
- PersonalCheckings
- BusinessCheckings
nullable: true
description: ACH Account Type
routingNumber:
type: string
nullable: true
description: ACH Routing Number
additionalProperties: false
AMCSPayTerminalAbortRequest:
type: object
required:
- requestId
- providerType
- callerIdentifier
- terminalId
- requestType
properties:
requestType:
type: string
enum:
- Abort
nullable: false
providerType:
type: string
enum:
- TerminalPay
- ElavonTerminalPay
nullable: false
example: TerminalPay
callerIdentifier:
type: string
example: client-name
nullable: false
requestId:
type: string
format: uuid
example: 0d920c06-b568-442b-94cc-afe60176708f
nullable: false
terminalId:
type: string
example: 450-829-523
nullable: false
emailAddress:
type: string
nullable: true
example: amcspayuser@email.com
reason:
type: string
example: Cancelled By POS
nullable: true
additionalProperties: false
AMCSPayResult:
type: object
nullable: true
description: "AMCS Pay standardised result code and message returned by the payment provider.\n\n**Success example:**\n```json\n{\n \"code\": \"000.000.000\",\n \"message\": \"Transaction succeeded\"\n}\n```\n\n**Error example:**\n```json\n{\n \"code\": \"200.300.404\",\n \"message\": \"invalid or missing parameter\"\n}\n```"
properties:
code:
type: string
nullable: true
description: Provider result code.
example: 000.000.000
message:
type: string
nullable: true
description: Human-readable description of the payment outcome.
example: Transaction succeeded
AMCSPayPollPaymentResponse:
type: object
properties:
callerTransactionId:
type: string
nullable: true
example: d0c645e2-4e7b-4dd8-b304-b02600e6179a
amcsPayReferenceId:
type: string
nullable: true
example: f9a50643-05e3-45f9-9bc0-87be0d5ae0e2
providerReference:
type: string
nullable: true
example: 8ac7a4a28749242d01874c7e648327b7
providerResponseCode:
type: string
nullable: true
example: OK
providerAuthCode:
type: string
nullable: true
example: ''
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: true
responseTimeStamp:
type: string
format: datetime
nullable: true
example: '2022-07-27 18:54:18.6767965 +08:00'
notes:
type: string
nullable: true
example: ''
transactionStatus:
type: string
enum:
- Initiated
- Exception
- Success
- Failure
example: Success
nullable: false
tokenReference:
type: string
nullable: true
example: 58af616d8b112af873be57bb627a7677bdffdc6a306ffdff26c6f6b59d917fe7
historyReference:
type: string
nullable: true
example: '123456789012345'
maskedProfileNumber:
type: string
nullable: true
example: XXXXX
profileExpiryDate:
type: string
nullable: true
format: datetime
example: MM/YY
profileType:
type: string
nullable: true
example: VISA
profileHolder:
type: string
nullable: true
example: Roofus Summers
errorCondition:
type: string
enum:
- ABORTED
- BUSY
- CANCEL
- DEVICEOUT
- INSERTEDCARD
- INPROGRESS
- LOGGEDOUT
- MESSAGEFORMAT
- NOTALLOWED
- NOTFOUND
- PAYMENTRESTRICTION
- REFUSAL
- UNAVAILABLEDEVICE
- UNAVAILABLESERVICE
- INVALIDCARD
- UNREACHABLEHOST
- WRONGPIN
example: CANCEL
nullable: true
result:
$ref: '#/components/schemas/AMCSPayResult'
nullable: true
description: AMCS Pay standardised result code and message returned by the payment provider.
additionalProperties: false
AMCSPayTerminalResponse:
type: object
properties:
transactionStatus:
type: string
enum:
- Success
- Failure
example: Success
nullable: false
amcsPayReferenceId:
type: string
format: uuid
nullable: true
example: c4521490-c0dd-40e5-94c6-afe90073aa1b
providerReference:
type: string
nullable: true
example: '710718500049'
providerResponseCode:
type: string
nullable: true
example: Success
providerAuthCode:
type: string
nullable: true
example: DEMO684
tokenValue:
type: string
nullable: true
example: iLGOd76VSiaAQBcZswQf
responseTimeStamp:
type: string
format: datetime
example: '2022-07-27 18:54:18.6767965 +08:00'
nullable: true
notes:
type: string
nullable: true
callerTransactionId:
format: uuid
example: 00000000-0000-0000-0000-000000000000
type: string
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
maskedProfileNumber:
type: string
nullable: true
example: XXXXX
profileExpiryDate:
type: string
nullable: true
format: datetime
example: MM/YY
profileHolder:
type: string
nullable: true
example: Roofus Summers
errorCondition:
type: string
enum:
- ABORTED
- BUSY
- CANCEL
- DEVICEOUT
- INSERTEDCARD
- INPROGRESS
- LOGGEDOUT
- MESSAGEFORMAT
- NOTALLOWED
- NOTFOUND
- PAYMENTRESTRICTION
- REFUSAL
- UNAVAILABLEDEVICE
- UNAVAILABLESERVICE
- INVALIDCARD
- UNREACHABLEHOST
- WRONGPIN
example: CANCEL
nullable: true
result:
$ref: '#/components/schemas/AMCSPayResult'
nullable: true
description: AMCS Pay standardised result code and message returned by the payment provider.
AMCSPayVaultResponse:
type: object
properties:
callerTransactionId:
type: string
format: uuid
example: 16a56160-557b-4457-8f0f-b038006d0a8d
nullable: true
description: The AMCS generated Request GUID associated to the hosted payments page.
amcsPayReferenceId:
type: string
format: uuid
example: f8026905-9ec9-4bbb-aa42-b038006d0d3b
nullable: false
description: The AMCS generated Response GUID associated to the Payment request.
providerReference:
type: string
example: 8ac7a4a28749242d01874c7e648327b7
nullable: true
description: The reference number associated to the payment provider response.
providerResponseCode:
type: string
example: Success
nullable: true
description: The status code associated to the payment response.
providerAuthCode:
type: string
example: ''
nullable: true
description: The authorization code associated to the payment provider.
transactionAmount:
type: object
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
description: The amount associated to the payment request.
responseTimeStamp:
type: string
format: datetime
example: '2022-07-27 18:54:18.6767965 +08:00'
nullable: false
description: The time stamp associated to the response payload.
notes:
type: string
example: " ACI Auto Pay Transaction Id 8ac7a4a2892d433501892f117c3a3173\r\n\r\n Transaction Date 2023-07-07 06:37:02+0000\r\n\r\n Result code 000.100.110\r\n\r\n ResultDescription: Request successfully processed in 'Merchant in Integrator Test Mode'\r\n\r\n Payment Type DB\r\n\r\n "
nullable: true
description: More information associated to the payment.
transactionStatus:
type: string
enum:
- Success
- Failure
example: Success
nullable: false
description: The Transaction Status associated to the refund response.
result:
$ref: '#/components/schemas/AMCSPayResult'
nullable: true
description: AMCS Pay standardised result code and message returned by the payment provider.
additionalProperties: false
AMCSPayRefundRequest:
required:
- requestType
- paymentType
- transactionOrigin
- callerIdentifier
- requestId
- providerType
- transactionAmount
- originalPaymentReference
- originalAmount
type: object
properties:
requestType:
type: string
enum:
- Refund
example: Refund
nullable: false
paymentType:
type: string
enum:
- CARD
- ACH
- EFT
- TERMINAL
example: CARD
nullable: false
transactionOrigin:
type: string
enum:
- MOTO
example: MOTO
nullable: false
callerIdentifier:
type: string
example: Elemos
nullable: false
requestId:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
nullable: false
providerType:
type: string
enum:
- ACICards
- ACIElectronic
- Heartland
- MerchantPartners
- PaymentExpress
- Realex
- TerminalPay
- EftCanada
- ElavonTerminalPay
example: ACICards
nullable: false
transactionAmount:
type: object
example: '24.00'
$ref: '#/components/schemas/AMCSPayAmount'
nullable: false
originalPaymentReference:
type: string
example: 8ac7a4a28749242d01874c7e648327b7
nullable: false
originalAmount:
type: number
format: decimal
example: 40.1
nullable: true
tokenValue:
type: string
nullable: true
example: iLGOd76VSiaAQBcZswQf
description: 'Required if payment type is elavon terminalPay or verifone terminalPay.'
profileExpiryDate:
type: string
nullable: true
format: datetime
example: MM/YY
description: 'Required if payment type is elavon terminalPay.'
customerInfo:
type: object
$ref: '#/components/schemas/AMCSPayCustomerInfo'
nullable: true