Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mercadopago/sdk-java/llms.txt
Use this file to discover all available pages before exploring further.
PointClient provides the integration layer for Mercado Pago Point card readers, enabling you to orchestrate in-person card-present payment flows entirely through the API without requiring the user to interact with a POS terminal UI. You can create and cancel payment intents on a specific device, poll or retrieve the intent status and event history, list all registered devices on your account, and switch a device between PDV (Point-of-Sale) and STANDALONE operating modes.
PointClient
Package: com.mercadopago.client.point
Constructors
// Uses the default HTTP client configured in MercadoPagoConfig
PointClient()
// Supply a custom MPHttpClient (useful for testing or proxy scenarios)
PointClient(MPHttpClient httpClient)
Methods
createPaymentIntent
Creates a new payment intent on a specific Point device. The device will prompt the customer to present their card.
PointPaymentIntent createPaymentIntent(String deviceId, PointPaymentIntentRequest request)
throws MPException, MPApiException
PointPaymentIntent createPaymentIntent(String deviceId, PointPaymentIntentRequest request, MPRequestOptions requestOptions)
throws MPException, MPApiException
Unique identifier of the target Point device (e.g., "PAX_A910__SMARTPOS123456").
request
PointPaymentIntentRequest
required
Optional per-request overrides for access token, headers, or timeouts.
Returns: PointPaymentIntent
getPaymentIntentStatus
Retrieves the most recent status event for a payment intent. Use this to poll for completion after creating an intent.
PointStatusPaymentIntent getPaymentIntentStatus(String paymentIntentId)
throws MPException, MPApiException
PointStatusPaymentIntent getPaymentIntentStatus(String paymentIntentId, MPRequestOptions requestOptions)
throws MPException, MPApiException
Unique identifier of the payment intent.
Optional per-request overrides.
Returns: PointStatusPaymentIntent — contains the most recent status event for the intent.
getPaymentIntentList
Retrieves a list of payment intents that have reached a final state within a specified date range.
PointPaymentIntentList getPaymentIntentList(PointPaymentIntentListRequest request)
throws MPException, MPApiException
PointPaymentIntentList getPaymentIntentList(PointPaymentIntentListRequest request, MPRequestOptions requestOptions)
throws MPException, MPApiException
request
PointPaymentIntentListRequest
required
Date range filter parameters (startDate, endDate) used to filter results.
Optional per-request overrides.
Returns: PointPaymentIntentList — a list of payment intents with their final states.
cancelPaymentIntent
Cancels an active payment intent on a specific device. Only intents that have not yet been processed can be cancelled.
PointCancelPaymentIntent cancelPaymentIntent(String deviceId, String paymentIntentId)
throws MPException, MPApiException
PointCancelPaymentIntent cancelPaymentIntent(String deviceId, String paymentIntentId, MPRequestOptions requestOptions)
throws MPException, MPApiException
Unique identifier of the Point device that owns the intent.
Unique identifier of the payment intent to cancel.
Optional per-request overrides.
Returns: PointCancelPaymentIntent — contains the ID of the cancelled payment intent.
searchPaymentIntent
Retrieves a specific payment intent by its unique identifier.
PointSearchPaymentIntent searchPaymentIntent(String paymentIntentId)
throws MPException, MPApiException
PointSearchPaymentIntent searchPaymentIntent(String paymentIntentId, MPRequestOptions requestOptions)
throws MPException, MPApiException
Unique identifier of the payment intent to look up.
Optional per-request overrides.
Returns: PointSearchPaymentIntent
getDevices
Lists all Point devices associated with the authenticated account, optionally filtered by POS or store.
PointDevices getDevices(MPSearchRequest request)
throws MPException, MPApiException
PointDevices getDevices(MPSearchRequest request, MPRequestOptions requestOptions)
throws MPException, MPApiException
Optional filter parameters. Supported keys include pos_id and store_id. Pass an empty MPSearchRequest to list all devices.
Optional per-request overrides.
Returns: PointDevices — a wrapper containing the list of registered devices.
changeDeviceOperatingMode
Switches a Point device between PDV (linked to a POS system) and STANDALONE (autonomous) operating modes.
PointDeviceOperatingMode changeDeviceOperatingMode(String deviceId, PointDeviceOperatingModeRequest request)
throws MPException, MPApiException
PointDeviceOperatingMode changeDeviceOperatingMode(String deviceId, PointDeviceOperatingModeRequest request, MPRequestOptions requestOptions)
throws MPException, MPApiException
Unique identifier of the Point device to update.
request
PointDeviceOperatingModeRequest
required
Contains operatingMode — either OperatingMode.PDV or OperatingMode.STANDALONE.
Optional per-request overrides.
Returns: PointDeviceOperatingMode — the updated operating mode state.
PointPaymentIntentRequest fields
PointPaymentIntentRequest is a Lombok @Builder class with the following fields:
Positive amount to charge for this payment intent.
Description displayed on the device and in reporting.
payment
PointPaymentIntentPaymentRequest
Payment configuration including payment type (credit_card, debit_card) and number of installments.
additionalInfo
PointPaymentIntentAdditionalInfoRequest
Additional metadata such as external references and printing options.
OperatingMode enum
OperatingMode.PDV // Device is linked to a Point of Sale system
OperatingMode.STANDALONE // Device operates independently
Code Example
import com.mercadopago.MercadoPagoConfig;
import com.mercadopago.client.point.OperatingMode;
import com.mercadopago.client.point.PointClient;
import com.mercadopago.client.point.PointDeviceOperatingModeRequest;
import com.mercadopago.client.point.PointPaymentIntentRequest;
import com.mercadopago.net.MPSearchRequest;
import com.mercadopago.resources.point.PointCancelPaymentIntent;
import com.mercadopago.resources.point.PointDeviceOperatingMode;
import com.mercadopago.resources.point.PointDevices;
import com.mercadopago.resources.point.PointPaymentIntent;
import com.mercadopago.resources.point.PointStatusPaymentIntent;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
MercadoPagoConfig.setAccessToken("YOUR_ACCESS_TOKEN");
PointClient client = new PointClient();
String deviceId = "PAX_A910__SMARTPOS123456789";
// Create a payment intent on a specific device
PointPaymentIntentRequest intentRequest = PointPaymentIntentRequest.builder()
.amount(new BigDecimal("150.00"))
.description("In-store purchase")
.build();
PointPaymentIntent intent = client.createPaymentIntent(deviceId, intentRequest);
System.out.println("Payment intent ID: " + intent.getId());
// Poll the intent status
PointStatusPaymentIntent status = client.getPaymentIntentStatus(intent.getId());
System.out.println("Status: " + status.getStatus());
// Look up the intent by ID
PointSearchPaymentIntent found = client.searchPaymentIntent(intent.getId());
// Cancel the intent if still pending
PointCancelPaymentIntent cancelled = client.cancelPaymentIntent(deviceId, intent.getId());
System.out.println("Cancelled: " + cancelled.getId());
// List all devices on the account
MPSearchRequest devicesRequest = MPSearchRequest.builder().build();
PointDevices devices = client.getDevices(devicesRequest);
devices.getDevices().forEach(d -> System.out.println("Device: " + d.getId()));
// Switch a device to standalone mode
PointDeviceOperatingModeRequest modeRequest = PointDeviceOperatingModeRequest.builder()
.operatingMode(OperatingMode.STANDALONE)
.build();
PointDeviceOperatingMode modeResult = client.changeDeviceOperatingMode(deviceId, modeRequest);
System.out.println("New mode: " + modeResult.getOperatingMode());