Skip to content

Payments

To accept payments with Montonio, you need to integrate with our Stargate API. In the Guides section, you can find detailed instructions on how to integrate with the API, along with code examples in various programming languages.

What is an Order?

When you integrate with Montonio, you’ll be working with a set of objects which are used to represent the payment process. The most important and central object is the Order.

To accept payments, you must first create an Order, ideally matching one-to-one with an Order object in your e-commerce, ERP, or accounting system. The Order object contains all the information needed to process a payment, such as the amount, currency, preferred payment method, the customer’s email address, etc.

What payment methods can be used?

An Order can be paid for using one of the available payment methods, which is specified when creating the Order. The available payment methods per currency are:

Payment methodSupported currenciesSystem name
Bank PaymentsEUR, PLNpaymentInitiation
Card PaymentsEUR, PLNcardPayments
MobilePayEURmobilePay
BLIKPLNblik
Buy Now Pay LaterEURbnpl
Hire PurchaseEURhirePurchase

What is the lifecycle of an Order?

In order to communicate the status of a payment we use the Order’s paymentStatus. Whenever an order transitions from one status to another you will receive a webhook (HTTP POST request). You can expect the following values for paymentStatus:

StatusAvailable by defaultDescription
PENDING✅ YESOrder is created but the payment is not yet completed by the customer.
This is the first status of an Order.
PAID✅ YESOrder has been paid for by the customer.
VOIDED✅ YESAn order previously marked as PAID was rejected by the bank1
An email is sent to the merchant’s contact address to inform you of this exceptional case.
PARTIALLY_REFUNDED✅ YESOrder amount has been partially refunded.
REFUNDED✅ YESOrder amount has been fully refunded.
ABANDONED✅ YES2When an order is PENDING for a certain duration (30 minutes by default) we will update the order status to ABANDONED and send a webhook.
AUTHORIZED❌ Opt in3Intermediate status for paymentInitiation payments indicating that the payment is signed by the customer but not yet processed by the bank.

References:

  1. A PAID order becoming VOIDED can only happen with the paymentInitiation payment method. It’s a rare edge case for when the customer’s bank experienced technical issues or rejected the payment for suspicious activity. Read more about it in this article.
  2. The ABANDONED status is enabled for merchants who started using Montonio after 2023.08.29. Contact Customer Support to enable this feature if you joined before 2023.08.29.
  3. Feature available only for select enterprise customers.

What is the lifecycle of a Refund?

In order to communicate the status of a refund we use the Refund’s status. You can expect the following values for status:

StatusDescription
PENDINGRefund has been created but not yet processed. This is the first status of a Refund.
PROCESSINGRefund has been submitted for processing. The funds are being transferred back to the customer.
SUCCESSFULRefund has been successfully processed and the funds have been returned to the customer.
REJECTEDRefund was rejected and could not be completed.
CANCELEDRefund was cancelled before processing.

How to access the API?

The API Base URLs for the available environments are as follows:

  • Production: https://stargate.montonio.com/api
  • Sandbox: https://sandbox-stargate.montonio.com/api

To authenticate with the API, you’ll need to use API keys. Read more about API keys and how to get them. The authentication mechanism is described in the Authentication section of the API reference.

Getting started

The best way to get started is to first read the Integration checklist.

Once you’re familiar with the flow, dive deeper into the Developer guides to build your integration step-by-step.

Happy integrating! 🚀