One-time user enrollment

Learn how to enroll users for Pix with Biometrics payments.

The one-time biometric enrollment requires merchants to create an enrollment request via dLocal's API, establishing the user's biometric authentication profile for future payments.

Flow launch options

The enrollment flow can be adapted to match the merchant's preferred user experience. It is possible to either redirect users to dLocal's standardized interface for a pre-built biometric authentication journey or use the embedded SDK to integrate the biometric flow directly into a native mobile app (iOS / Android) while maintaining your brand experience.

  • Redirect approach: Users are directed to dLocal's secure interface, where they authorize their bank account and register their biometric data (face or fingerprint verification).
  • Embedded SDK: The same enrollment process occurs within your application, providing a seamless branded experience.

Once enrollment is completed successfully, dLocal provides an enrollment ID via API that uniquely identifies the approved biometric profile, enabling future payments without requiring additional biometric registration.

👍

Exploring embedded SDK integration? Our team can grant access to the native experience integration toolkit. Contact your designated Technical Account Manager or email us at [email protected].

Overall flow

Biometric enrollment process

This process performs a one-time biometric enrollment that enables future biometric-authenticated payments.

User flow

The screenshots illustrate an example of the Pix with Biometrics user enrollment flow

The screenshots illustrate an example of the Pix with Biometrics user enrollment flow

Example request

URL Selector with Opacity
Post
curl -X POST \
   -H 'X-Date: {X-Date}' \
   -H 'X-Login: {X-Login}' \
   -H 'X-Trans-Key: {X-Trans-Key}' \
   -H 'Content-Type: application/json' \
   -H 'X-Version: 2.1' \
   -H 'User-Agent: MerchantTest / 1.0 ' \
   -H 'Authorization: V2-HMAC-SHA256, Signature: {Signature}' \
   -d '{body}'
   https://api.dlocal.com/enrollments

{
  "currency": "BRL",
  "country": "BR",
  "type": "ON_DEMAND",
  "payment_method_id": "XV",
  "payment_method_flow": "REDIRECT",
  "payer": {
    "name": "Thiago Gabriel",
    "document": "53033315550",
    "email": "[email protected]"
  },
  "external_id": "31231jj223",
  "description": "PIX Biometrics enrollment",
  "notification_url": "http://merchantsite.com/notifications",
  "callback_url": "http://merchantsite.com/callback"
}
{
  "id": "E-4-32e1218f-b6ec-3f21-13d5-50v12ere2ca4",
  "external_id": "31231jj223",
  "currency": "BRL",
  "country": "BR",
  "type": "ON_DEMAND",
  "payment_method_id": "XV",
  "payment_method_flow": "REDIRECT",
  "payment_method_type": "TICKET",
  "created_date": "2025-12-26T20:37:20.000+0000",
  "status": "PENDING",
  "status_detail": "The enrollment is pending.",
  "status_code": "100",
  "redirect_url": "https://pay.dlocal.com/gmf-apm/payments/E-4-32e1218f-b6ec-3f21-13d5-50v12ere2ca4",
  "notification_url": "http://merchantsite.com/notifications"
}
{
  "id": "E-4-32e1218f-b6ec-3f21-13d5-50v12ere2ca4",
  "external_id": "31231jj223",
  "currency": "BRL",
  "country": "BR",
  "type": "ON_DEMAND",
  "payment_method_id": "XV",
  "payment_method_flow": "REDIRECT",
  "payment_method_type": "TICKET",
  "created_date": "2025-12-26T20:37:20.000+0000",
  "status": "ACTIVE",
  "status_detail": "The enrollment is active.",
  "status_code": "200",
  "notification_url": "http://merchantsite.com/notifications"
}

Request params

FieldTypeDescriptionRequired
currencyStringBRL or USD

Transaction currency in ISO 4217.
Yes
countryISO 3166-1 alpha-2 codeBR

Transaction country in ISO 3166.
Yes
typeStringType of enrollment. Always send ON-DEMAND for Pix with Biometrics.Yes
payment_method_idStringXV

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
Payer Object
payer.nameString (max. 100)Name of the payer.Yes
payer.document11–14 digits
Full CPF validation
Document of the payer (CPF or CNPJ).Yes
payer.emailString (max. 100)Email of the payer.Yes
external_idStringAn identifier used by the merchant to identify the enrollment in their system.Yes
descriptionStringEnrollment description.No
notification_urlString (max. 200)Notifications will be sent on every change of status to the notification_url specified by the merchant.No
callback_urlStringURL where the user will be redirected after approval of the transaction.Yes

Response params

FieldTypeDescription
enrollment.idStringEnrollment ID provided by dLocal, which must be used for future biometric payments.