Follow these steps to connect a PAX payment terminal to Finix and process your first in-person payment.
Place the payment terminal where you'll use it to process payments, then power it on.
To set up the payment terminal, you'll need:
- A Wi-Fi network and router.
- The Wi-Fi network's name and password.
- Physical access to the payment terminal being activated.
Once the terminal is on, connect it to your Wi-Fi network and open the Finix Payment App.
Create a Device under the Merchant provisioned to process in-person payments. Include the model of the payment terminal you'll be using to process cards.
Choose the payment terminal that best fits your business needs. View our available devices to compare options.
- Sandbox serverhttps://finix.sandbox-payments-api.com/merchants/{merchant_id}/devices
curl -i -X POST \
-u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
https://finix.sandbox-payments-api.com/merchants/MUwfZPNW3r4EqLMzwgr6txw4/devices \
-H 'Content-Type: application/json' \
-H 'Finix-Version: 2022-02-01' \
-d '{
"configuration": {
"allow_debit": true,
"allow_standalone_authorizations": false,
"allow_standalone_refunds": false,
"allow_standalone_sales": false,
"bypass_device_on_capture": true,
"check_for_duplicate_transactions": true,
"display_tip_on_receipt": false,
"prompt_amount_confirmation": true,
"prompt_manual_entry": false,
"prompt_receipt_confirmation": true,
"prompt_tip_on_screen": false,
"tipping_details": {
"allow_custom_tip": true,
"fixed_options": [
100,
150,
200
],
"percent_options": [
18,
20,
22
],
"percent_tipping_threshold": 0
}
},
"description": "Cashier One",
"integration_mode": "PAYMENT_APP",
"model": "PAX_A800",
"name": "My PAX_A800 Finix Device",
"serial_number": "1904626094"
}'{
"id": "DVoDo7F6yYCnX2d6Fj9hvsd",
"created_at": "2025-11-14T19:01:04.638451Z",
"updated_at": "2025-11-14T19:01:04.638451Z",
"configuration_details": {
"allow_debit": true,
"check_for_duplicate_transactions": true,
"prompt_amount_confirmation": true,
"prompt_manual_entry": false,
"signature_threshold_amount": 10000,
"bypass_device_on_capture": true,
"prompt_receipt_confirmation": true,
"display_tip_on_receipt": false,
"prompt_tip_on_screen": false,
"allow_standalone_authorizations": false,
"allow_standalone_sales": false,
"allow_standalone_refunds": false,
"tipping_details": {
"percent_tipping_threshold": 0,
"percent_options": [
18,
20,
22
],
"fixed_options": [
100,
150,
200
]
},
"idle_message": null,
"idle_image_file_id": null,
"automatic_receipt_delivery_methods": null,
"available_receipt_methods": null,
"prompt_for_signature": "NEVER",
"surcharge_basis_points": null
},
"description": "Cashier One",
"enabled": false,
"idle_message": null,
"integration_mode": "PAYMENT_APP",
"merchant": "MUsMvN47nRtdgUkE23SRHDC6",
"model": "PAX_A800",
"name": "My PAX_A800 Finix Device",
"serial_number": "1234567891",
"tags": {},
"_links": {
"self": {
"href": "https://finix.sandbox-payments-api.com/devices/DVoDo7F6yYCnX2d6Fj9hvsd"
},
"merchant": {
"href": "https://finix.sandbox-payments-api.com/merchants/MUsMvN47nRtdgUkE23SRHDC6"
},
"transfers": {
"href": "https://finix.sandbox-payments-api.com/transfers"
},
"authorizations": {
"href": "https://finix.sandbox-payments-api.com/authorizations"
}
}
}Once the Device is created and the serial_number is set, you can link the Device resource with the payment terminal by sending an activation request.
To activate the Device:
- The Device must be online and connected to the network.
- The Finix Payment App is open on the Device.
curl -i -X PUT \
-u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
https://finix.sandbox-payments-api.com/devices/DV7DvjGoZ2AEdhAKhtKXVv4b \
-H 'Accept: application/hal+json' \
-H 'Content-Type: application/json' \
-H 'Finix-Version: 2022-02-01' \
-d '{
"action": "ACTIVATE"
}'A successful request returns enabled: true.
Optionally check the device connection.
With the payment terminal connected, you can begin processing in-person payments. Use the Device you enabled to create a sale.
curl -i -X POST \
-u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
https://finix.sandbox-payments-api.com/transfers \
-H 'Accept: application/hal+json' \
-H 'Content-Type: application/json' \
-H 'Finix-Version: 2022-02-01' \
-d '{
"amount": 150,
"currency": "USD",
"device": "DV7DvjGoZ2AEdhAKhtKXVv4b",
"operation_key": "CARD_PRESENT_DEBIT",
"tags": {
"order_number": "chris123transfer"
}
}'{
"id": "TRarp7Pz21Low4u2Urw5Ub4W",
"created_at": "2019-04-29T20:44:00.13Z",
"updated_at": "2022-10-10T05:59:17.59Z",
"3ds_redirect_url": null,
"additional_buyer_charges": null,
"additional_healthcare_data": null,
"address_verification": null,
"amount": 3138,
"amount_requested": 3138,
"application": "APeUbTUjvYb1CdPXvNcwW1wP",
"capture_amount": 150,
"card_present_details": {
"emv_data": {
"application_identifier": "A0000001523010",
"application_label": "DISCOVER",
"application_preferred_name": null,
"application_transaction_counter": "0005",
"cryptogram": "ARCQ F666F8891F870D33",
"issuer_code_table_index": null,
"pin_verified": false,
"tags": null
},
"masked_account_number": "************0059",
"name": "Test Card 05",
"brand": "DISCOVER",
"entry_mode": "CHIP_ENTRY",
"payment_type": "CREDIT",
"approval_code": "004839"
},
"currency": "USD",
"device": "DVfKLD9GZtsjcJxLtc2yCcfd",
"expires_at": "2019-05-06T20:44:00.13Z",
"failure_code": null,
"failure_message": null,
"idempotency_id": null,
"is_void": false,
"merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
"merchant_identity": "IDsbTBawhnLBAVeinRb84vFR",
"messages": [],
"raw": null,
"security_code_verification": null,
"source": "PImTHaz7XVPx4M7mhu9x8gkU",
"state": "SUCCEEDED",
"tags": {
"TicketNumber": "45878"
},
"trace_id": "FNX35FSuraeKKJr65wkGVFJni",
"void_state": "UNATTEMPTED",
"_links": {
"self": {
"href": "https://finix.sandbox-payments-api.com/authorizations/AUarp7Pz21Low4u2Urw5Ub4W"
},
"application": {
"href": "https://finix.sandbox-payments-api.com/applications/APeUbTUjvYb1CdPXvNcwW1wP"
},
"transfer": {
"href": "https://finix.sandbox-payments-api.com/transfers/TRqQCAX7nYHUnkE5YPFTknqd"
},
"device": {
"href": "https://finix.sandbox-payments-api.com/devices/DVfKLD9GZtsjcJxLtc2yCcfd"
},
"merchant_identity": {
"href": "https://finix.sandbox-payments-api.com/identities/IDsbTBawhnLBAVeinRb84vFR"
}
}
}You may proceed with managing payouts and the post-payments lifecycle.
If you are a Software Platform or Marketplace that is onboarding sellers, you will have multiple Merchants available to choose from when activating your device. Select the Merchant you want to process in-person payments for before activating your device.
See our Platform Quickstart to learn how to quickly onboard sellers.
After completing the initial setup, you may also want to verify your device connection or cancel operations as needed.
Prior to initiating a payment, you can check the connection to verify that the Device is ready to process payments. Checking the connection will confirm that the:
- Device is powered on.
- Finix Payment App is open.
- Device is connected to the internet.
- Device was able to connect to the Finix Server.
Use the ID of the Device you enabled to check the Connection. Below is a sample request and response.
- The
connectionfield in the response has two potential values:open: the Device is ready to process payments.closed: the Device has not met the criteria outlined above to process payment.
If the connection is closed and a payment is initiated, the Transfer will fail with an error of DEVICE_UNREACHABLE.
- Sandbox serverhttps://finix.sandbox-payments-api.com/devices/{device_id_connection}
curl -i -X GET \
-u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
'https://finix.sandbox-payments-api.com/devices/DVoDo7F6yYCnX2d6Fj9hvsd?include_connection=true' \
-H 'Finix-Version: 2022-02-01'{
"id": "DVoDo7F6yYCnX2d6Fj9hvsd",
"created_at": "2025-11-14T19:01:04.638451Z",
"updated_at": "2025-11-14T19:01:04.638451Z",
"android_version": "10",
"configuration_details": {
"allow_debit": true,
"check_for_duplicate_transactions": true,
"prompt_amount_confirmation": true,
"prompt_manual_entry": false,
"signature_threshold_amount": 10000,
"bypass_device_on_capture": true,
"prompt_receipt_confirmation": true,
"display_tip_on_receipt": false,
"prompt_tip_on_screen": false,
"allow_standalone_authorizations": false,
"allow_standalone_sales": false,
"allow_standalone_refunds": false,
"tipping_details": {
"percent_tipping_threshold": 0,
"percent_options": [
18,
20,
22
],
"fixed_options": [
100,
150,
200
]
},
"idle_message": null,
"idle_image_file_id": null,
"automatic_receipt_delivery_methods": null,
"available_receipt_methods": null,
"prompt_for_signature": "NEVER",
"surcharge_basis_points": null
},
"connection": "Open",
"description": "Cashier One",
"enabled": false,
"firmware_version": "PayDroid_10.0.0_Eucalyptus_V20.1.23_20250108",
"idle_message": null,
"merchant": "MUsMvN47nRtdgUkE23SRHDC6",
"model": "PAX_A800",
"name": "My PAX_A800 Finix Device",
"payment_app_version": "5.9.0",
"serial_number": "2210172205",
"tags": {},
"_links": {
"self": {
"href": "https://finix.sandbox-payments-api.com/devices/DVoDo7F6yYCnX2d6Fj9hvsd"
},
"merchant": {
"href": "https://finix.sandbox-payments-api.com/merchants/MUsMvN47nRtdgUkE23SRHDC6"
},
"transfers": {
"href": "https://finix.sandbox-payments-api.com/transfers"
},
"authorizations": {
"href": "https://finix.sandbox-payments-api.com/authorizations"
}
}
}To deactivate a Device and prevent it from processing future payments, send a PUT /devices/{device_id} request with the DEACTIVATE action.
To cancel an in-progress transaction, send a PUT /devices/{device_id} request to cancel the transaction.
- Sandbox serverhttps://finix.sandbox-payments-api.com/devices/{device_id}
curl -i -X PUT \
-u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
https://finix.sandbox-payments-api.com/devices/DVoDo7F6yYCnX2d6Fj9hvsd \
-H 'Content-Type: application/json' \
-d '{
"action": "CANCEL"
}'If successful, the failure_code and failure_message on the Transfer resource will indicate the transaction was cancelled.
{
"id": "TRt3LfP6ot6s5HG1ZN9QE5qc",
"created_at": "2025-07-18T23:20:55.95Z",
"updated_at": "2025-07-18T23:20:55.95Z",
"additional_buyer_charges": null,
"additional_healthcare_data": null,
"additional_purchase_data": null,
"address_verification": null,
"amount": 2000,
"amount_requested": 2000,
"application": "APc9vhYcPsRuTSpKD9KpMtPe",
"card_present_details": {
"emv_data": {
"application_identifier": null,
"application_label": null,
"application_preferred_name": null,
"application_transaction_counter": null,
"cryptogram": null,
"issuer_code_table_index": null,
"network_emv_response": null,
"pin_verified": false,
"tags": null
},
"masked_account_number": null,
"name": null,
"brand": "UNKNOWN",
"entry_mode": "UNKNOWN",
"payment_type": null,
"approval_code": null,
"digital_signature_file_id": null
},
"currency": "USD",
"destination": null,
"device": "DVae7HFLS7BXNaFpKhdH1K6x",
"externally_funded": "UNKNOWN",
"failure_code": "CANCELLATION_VIA_API",
"failure_message": "The transaction was canceled via API before the transaction was completed. The cardholder needs to attempt the transaction again.",
"fee": 0,
"fee_profile": "FPuizPqrhzYLbmJm88u7aqfj",
"idempotency_id": null,
"merchant": "MUmfEGv5bMpSJ9k5TFRUjkmm",
"merchant_identity": "ID6UfSm1d4WPiWgLYmbyeo3H",
"messages": ["RAW MESSAGE"],
"operation_key": "CARD_PRESENT_SALE",
"parent_transfer": null,
"parent_transfer_trace_id": null,
"raw": null,
"ready_to_settle_at": null,
"receipt_last_printed_at": null,
"security_code_verification": null,
"source": "PIhGjmMzFiT3oorhhBoMHdKc",
"split_transfers": [],
"state": "FAILED",
"statement_descriptor": "FLX*FINIX FLOWERS",
"subtype": "API",
"supplemental_fee": null,
"tags": {
"order_number": "Test Transaction"
},
"tip_amount": null,
"trace_id": "433ca932-11c4-4667-8a21-90db472b7691",
"type": "DEBIT",
"_links": {
"application": {
"href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
},
"self": {
"href": "https://finix.sandbox-payments-api.com/transfers/TRt3LfP6ot6s5HG1ZN9QE5qc"
},
"merchant_identity": {
"href": "https://finix.sandbox-payments-api.com/identities/ID6UfSm1d4WPiWgLYmbyeo3H"
},
"device": {
"href": "https://finix.sandbox-payments-api.com/devices/DVae7HFLS7BXNaFpKhdH1K6x"
},
"payment_instruments": {
"href": "https://finix.sandbox-payments-api.com/transfers/TRt3LfP6ot6s5HG1ZN9QE5qc/payment_instruments"
},
"reversals": {
"href": "https://finix.sandbox-payments-api.com/transfers/TRt3LfP6ot6s5HG1ZN9QE5qc/reversals"
},
"fees": {
"href": "https://finix.sandbox-payments-api.com/transfers/TRt3LfP6ot6s5HG1ZN9QE5qc/fees"
},
"disputes": {
"href": "https://finix.sandbox-payments-api.com/transfers/TRt3LfP6ot6s5HG1ZN9QE5qc/disputes"
},
"fee_profile": {
"href": "https://finix.sandbox-payments-api.com/fee_profiles/FPuizPqrhzYLbmJm88u7aqfj"
}
}
}