openapi: 3.2.0 info: description: "# Introduction\n Monoova's Online Card Payment Service incorporates a next-gen Card Payment Checkout integrated with our expansive Payments API to allow merchants to capture card and mobile wallet payments from your customers online and receive funds into your Monoova account for automated reconciliation and disbursement. To integrate the Card Payment Gateway into your website, all you need is Monoova's Merchant Software Development Kit (SDK) hosted on GitHub and a set of straightforward RESTful APIs detailed below. We will continue to update this API documentation as we release additional functionality.\n\n# How to Enable the Card Payment Gateway and Sandbox API’s\n>\n - If not already a user, register an account in our Sandbox Portal\n - Once registered and logged in, navigate to **Manage > API Gateway** and input your API Key (provided to you as part of Portal user registration) to activate API Gateway Access for your mAccount (If you do not know your API Key you will need to roll a new one, this can be done by navigating to **Manage > Accounts**)\n - Card Gateway integration requires some additional back-end configuration prior to use by a member of our integration team who will reach out to onboard and confirm access as a final step to enabling your service.\n - To notify the integration team of your interest in enabling your account for Online Card Payment Service functionality, please Contact us and a member of the team will follow up to guide you through the final steps.\n\n# Integrating Monoova Checkout for Card Payments\n Utilizing Monoova's Merchant SDK enables you to deploy a Card Payment Checkout that securely gathers card payment information that complies with PCI standards, without necessitating substantial PCI compliance modifications within your application. The integrated Card Payment Checkout implementation ensures the secure capture of card data and offers complete customization to seamlessly align with your application's appearance and user experience.\n\n## Before you start\n>\n - Ensure that your mAccount has been properly configured to enable card payments. Please access the Monoova portal or contact Monoova Support to verify this.\n - Download the Card Software Development Kit (SDK): https://github.com/Monoova/merchantSDK\n\n## Using the Merchant SDK\n To begin, clone the Merchant SDK repository. This repository offers an example implementation of the set of tools for initiating a session with Monoova and presenting the credit card checkout for the collection of card payments. Detailed instructions on how to integrate the credit card checkout are included in the SDK.\n\n## Sample Card Details\n The following Card details can be used to test the credit card checkout and end-to-end flow in your Sandbox Account.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Card TypeCard NumberCard ExpiryCard CVV
VISA4111 1111 1111 111112/31123
MASTER CARD5555 5555 5555 444412/31123
\n\n## Customising the Checkout\n>\n - For those using the provided checkout form, you can make adjustments to the appearance of the checkout by editing the Checkout.html and style.css files to apply host themes.\n - To modify the styles within the card iframe, you should edit the CSS associated with the #Checkout-container ID, as host themes do not apply to the card form.\n - Refer to our README documentation in the Card Software Development Kit (SDK). It includes programmatic examples, including checkout style and callback details, for the events\n * onCheckoutComplete\n * onCheckoutFail\n" version: v1 title: Monoova Card Payments Get Transaction By Id API contact: name: Monoova Support email: support@monoova.com url: https://www.monoova.com x-logo: url: https://movdpwebsiteprodae.blob.core.windows.net/images/Monoova-Primary-Logo-Black-RGB.png altText: Monoova logo servers: - url: https://api.monoova.com description: Production URL# - url: https://sand-api.monoova.com description: Sandbox URL security: - BearerAuth: [] tags: - name: Get Transaction By Id paths: /au/card/ccm/CreditCardTransaction/{clientTransactionUniqueReference}: get: tags: - Get Transaction By Id summary: Get Transaction By Id description: This endpoint can be used to get details of payments and refunds. clientTransactionUniqueReference used to initiate these transactions can be used to get details.
operationId: get-transaction-by-id parameters: - name: clientTransactionUniqueReference in: path required: true schema: type: string description: ClientTransactionUniqueReference must be associated with a payment that was initiated using Generate a Client Session
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreditCardTransactionDetailsResponse' example: creditCardTransactionDetails: clientTransactionUniqueReference: b6ec1fb0-e862-4dcd-a951-de6ebd91e7fc transactionId: TX7891011 customerId: C123456 creationDateTime: '2023-03-02T06:29:20.175Z' transactionInitiationDateTime: '2023-03-02T06:29:26.175Z' amount: currencyAmount: 10.0 surchargeAmount: currencyAmount: 1.0 paymentDetails: cardType: Visa description: sample token create clientPaymentTokenUniqueReference: T12345678 saveOnSuccess: true transactionType: Payment status: Authorized statusReasonCode: '00' statusReasonDescription: Transaction completed successfully refundStatus: Not Applicable settlementDateTime: '2023-03-04T04:02:27.061Z' settlementBatchId: SB12345 clientParentTransactionUniqueReference: b6ec1fb0-e862-4dcd-a951-de6ebd91e7fd refundTransactions: - clientTransactionUniqueReference: r6ec1fb0-e862-4dcd-a951-de6ebd91e7f1 clientParentTransactionUniqueReference: b6ec1fb0-e862-4dcd-a951-de6ebd91e7fc transactionId: TX7891012 creationDateTime: '2023-03-05T08:00:00.000Z' transactionInitiationDateTime: '2023-03-03T04:02:27.061Z' settlementDateTime: '2023-03-03T04:02:27.061Z' amount: currencyAmount: 50.25 surchargeAmount: currencyAmount: 0.5 paymentDetails: cardType: Visa description: Refund for coffee shop purchase transactionType: Refund status: Pending statusReasonCode: '01' statusReasonDescription: Refund in process settlementBatchId: SB12346 cardDetails: expirationMonth: '12' expirationYear: '2026' last4Digits: '1111' first6Digits: '407220' cardholderName: Jane Doe cardType: VISA issuerCountryCode: AU issuerName: ANZ authenticationDetails: responseCode: AUTH_SUCCESS challengeIssued: true riskDetails: preAuthorizationResult: FAILED postAuthorizationResult: ACCEPT traceId: cb9facce-0239-46bd-a823-16fa4191f87e '400': description: Error content: application/json: example: traceId: 0d4518e0-8934-489c-b303-1f82323f2595 errors: - errorCode: CCM_ACC_LIMIT_REACHED errorMessage: transaction amount 100.00 plus existing transactions 100.00 exceeds limit 50 components: schemas: RiskDetailsDto: type: object properties: preAuthorizationResult: type: string description: Possible fraud check outcomes. postAuthorizationResult: type: string description: Possible fraud check outcomes. additionalProperties: false PaymentDetailsDto: type: object properties: cardType: type: string description: Card Type. Must be one of Visa, Mastercard. Case insensitive. description: type: string description: Payment description. This will be saved in Monoova's system but will not be passed to the issuer. maxLength: 40 saveOnSuccess: type: boolean default: false description: System will save the payment method on successful payment. Optional, defaults to false. allowCredit: type: boolean default: true description: If set to true, credit card will be allowed. If set to false only Debit cards and prepaid cards will be allowed. Optional, defaults to true. clientPaymentTokenUniqueReference: type: string description: The unique id the client will use to refer to the persisted token for future payments. Mandatory if saveOnSuccess is true, otherwise prohibited. The value must be unique for this combination of client (mAccount) and customerId. Lowercase will be converted to uppercase. maxLength: 40 pattern: ^[a-zA-Z0-9_-]{1,40}$ applySurcharge: type: boolean default: false description: Add a calculated fee to the total amount for this transaction. Optional, defaults to false. Only allowed to be true if the surcharging is enabled in the account configuration. capturePayment: type: - boolean - 'null' description: Set to false (with an appropriate amount) if payment only needs to be authorized. Set to true or ignore this property if payment needs to be authorized and captured. default: true additionalProperties: false AuthenticationDetailsDto: type: object properties: responseCode: type: string description: AUTH_SUCCESS
AUTH_FAILED challengeIssued: type: boolean description: End customer prompted for 3DS. additionalProperties: false CreditCardTransactionDetailsResponse: type: object required: - clientTransactionUniqueReference - paymentDetails - amount properties: clientTransactionUniqueReference: type: string description: Id will be used to uniquely identify each payment request made by our customer. maxLength: 40 pattern: ^[a-zA-Z0-9_-]{1,40}$ transactionId: type: string description: Monoova transaction Id. Only available after settlement. customerId: type: string description: Client’s customer Id as provided by the client when the session was created. creationDateTime: type: string format: date-time description: For Payments, time the session for the Transaction was created and token allocated.
For Refunds, time the Refund request was accepted. transactionInitiationDateTime: type: string format: date-time description: Time the payment processor initiated the transaction as ISO 8601 dateTime with UTC timezone. settlementDateTime: type: string format: date-time description: Time of final settlement by Monoova of the transaction as ISO 8601 dateTime with UTC timezone. settlementBatchId: type: string description: Batch Id of settlement file for the payment. amount: type: object properties: currencyAmount: description: Payment amount type: number format: decimal maximum: 20000000.0 surchargeAmount: type: object properties: currencyAmount: description: Surcharge amount applied for the payment. type: - number - 'null' format: decimal maximum: 20000000.0 paymentDetails: $ref: '#/components/schemas/PaymentDetailsDto' transactionType: type: string description: Payment
Refund
Chargeback. status: type: string description: Payment transaction status. Must be one of
Initiated
Pending
Failed
Authorized
Pending Settlement
Settlement In Progress
Declined
Settlement Complete
Refund In Progress
Partially Refunded
Fully Refunded
Cancelled. statusReasonCode: type: string description: Reason code may be provided by the payment processor if payment is declined. statusReasonDescription: type: string description: Reason description may be provided by the payment processor if payment is declined. refundStatus: type: string description: Only defined for payments with a refund requested. May be one of
Refund Initiated
Refund Approved
Refund In Progress
Partially Refunded
Fully Refunded
Refund Declined clientParentTransactionUniqueReference: type: string description: Present if the transaction is a refund. The clientTransactionUniqueReference of the parent Payment transaction that this transaction is refunding. refundTransactions: $ref: '#/components/schemas/RefundTransactionsDto' authenticationDetails: $ref: '#/components/schemas/AuthenticationDetailsDto' riskDetails: $ref: '#/components/schemas/RiskDetailsDto' cardDetails: type: object properties: expirationMonth: type: string description: Expiration month of the card. expirationYear: type: string description: Expiration year of the card. last4Digits: type: string description: Last 4 digits of the card number. first6Digits: type: string description: First 6 digits of the card number. cardholderName: type: string description: Cardholder's full name. cardType: type: string description: Card type (e.g., VISA, MasterCard). issuerCountryCode: type: string description: Issuer's country code. issuerName: type: string description: Issuer's name (e.g., ANZ). additionalProperties: false RefundTransactionsDto: properties: clientTransactionUniqueReference: type: string description: as provided by the client when the refund was requested. maxLength: 40 pattern: ^[a-zA-Z0-9_-]{1,40}$ transactionId: type: string description: Monoova transaction Id for the refund. Only available after settlement. amount: type: object description: amount of the refund as . properties: currencyAmount: description: payment amount type: number format: decimal maximum: 20000000.0 transactionType: type: string description: Payment
Refund
Chargeback status: type: string description: refund transaction status. Must be one of

Initiated
Pending
Failed
Authorized
Pending Settlement
Settlement In Progress
Declined
Settlement Complete

Cancelled statusReasonCode: type: string description: reason code may be provided by the payment processor if refund is declined statusReasonDescription: type: string description: reason code may be provided by the payment processor if refund is declined transactionInitiationDateTime: type: string description: Time the payment processor initiated the refund as ISO 8601 dateTime with UTC timezone settlementDateTime: type: string description: Time of final settlement by Monoova of the refund as ISO 8601 dateTime with UTC timezone settlementBatchId: type: string description: Batch Id of settlement file for the payment required: - clientTransactionUniqueReference additionalProperties: false securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT BasicAuth: type: http scheme: basic x-tagGroups: - name: '' tags: - Generate a Bearer Token - Generate a Client Session - Get Transaction By Id - Get Transaction By Date Range - Request Refund Transaction - Get Async Request Status - Create Payment Using Token - Get Payment Method Token Details - Update Payment Method Token Status - Webhooks - Monoova Error Codes