AXIUM devices API quickstart
Activate an AXIUM terminal and make your first card-present transaction with the Payabli API
This quickstart takes an Ingenico AXIUM terminal from unregistered to its first card-present sale. First you set up and activate the terminal, then you charge a card with the Payabli API. The terminal captures and encrypts card data at the point of sale, and your app orchestrates the payment through the API.
Before you begin
You need:
- An OAuth2 Bearer token with the
device_registryscope to generate the activation code. Registration only accepts OAuth2 — see OAuth authentication to set one up. - A physical AXIUM terminal to register and present cards to. Contact Payabli to order your devices.
- The device’s admin password, which Payabli provides. You need it to connect the terminal to Wi-Fi.
- A paypoint enabled for semi-integrated devices, and API credentials that allow you to make transactions.
- A webhook subscription for the
ApprovedPaymentandDeclinedPaymentevents, if you want Payabli to notify you when a sale completes instead of polling for it. Payabli doesn’t send webhook events until you subscribe to them. See Set up and receive events for instructions.
Activate the terminal
Activating an AXIUM terminal registers it to a paypoint so it can accept payments.
Set up the terminal
- Power on the device.
- Connect it to a Wi-Fi network. You may be prompted for the device’s admin password.
- Open the Payabli app. It prompts for a device name, then a 6-digit activation code.
The device ships with a printed user guide for the hardware setup. If you need another copy, download the guide for your model from Ingenico user guides.
Generate an activation code
Send a POST request to the Generate device activation code endpoint (/api/Device/challenge/{entry}), where {entry} is the entrypoint of the paypoint the device registers to. Authenticate with an OAuth2 Bearer token that has the device_registry scope.
The response returns a 6-digit code and its expiresAt timestamp.
Enter the device name and the code in the app, and the terminal registers itself to the paypoint. The code expires 5 minutes after it’s issued, so generate it when the app reaches the activation screen. A paypoint can have more than one code active at once, so you can activate a batch of terminals in one pass. Each code binds to whichever device enters it first.
Get the device ID
Each transaction targets the terminal by its deviceId. List the devices registered to the paypoint to find the one you just activated:
The response returns the paypoint’s devices in Records. Find the terminal by the device name you entered, shown as friendlyName, and copy its deviceId.
See Manage AXIUM devices for filtering and monitoring options.
With the terminal registered and its deviceId copied, you’re ready to charge a card.
Make your first transaction
Run a card-present sale by sending a POST request to the Make a transaction endpoint (/api/v2/MoneyIn/getpaid). Set paymentMethod.method to device and paymentMethod.device to the deviceId you copied.
To tokenize and save the card while you charge it, set paymentMethod.saveIfSuccess to true. After the sale succeeds, the card’s methodReferenceId appears in the transaction details as StoredId, ready to reuse for future charges. See payment method tokenization for more.
A device sale is two-phase. The request returns Initiated (result code A0001), not Approved, because the terminal hasn’t read a card yet. The terminal prompts the cardholder to present their card, and the fields that describe the card and authorization stay null until they do.
Initiated means the sale has started, not that it succeeded. Don’t treat A0001 as an approval — wait for the final result before you fulfill the order.
Get the final result
The cardholder presents their card and completes the sale on the terminal. Because that happens after the initial response, the final result reaches you separately. You have two ways to get it:
- Listen for a webhook. Payabli sends an
ApprovedPaymentorDeclinedPaymentevent when the sale completes, so you don’t have to poll. Subscribe to these events first — see Before you begin. - Poll for transaction details. Call Get transaction details (
/api/MoneyIn/details/{transId}) with thepaymentTransIdfrom the initial response, and repeat until the status resolves.
A completed sale returns resultCode A0000 and TransStatus 1 in the transaction details:
If your paypoints use the Payabli Portal, the AXIUM device also appears as a payment method in the Virtual Terminal. There, you can select it to charge a card in person. See Create a transaction in the Portal.
Related resources
See these related resources to help you get the most out of Payabli.