Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.y.uno/llms.txt

Use this file to discover all available pages before exploring further.

This guide explores how to integrate NuPay, the digital payment method from NuBank, into your checkout. Yuno supports both the Yuno SDK (recommended) and Direct API workflows. You’ll learn how to:
  • Enroll NuPay as a customer payment method
  • Make payments without enrollment (2FA mode)
  • Make payments with installments (payment conditions)
  • Set up subscriptions

Requirements

Before starting, you need:
  • A Yuno account with Dashboard access
  • API keys and an account_id (found in the dashboard)
  • A customer created in Yuno (or create one in Step 1)

Create and manage customers

Create the customer once using your external merchant_customer_id, then retrieve by Yuno id or by merchant_customer_id as needed.
  1. Use the Create Customer endpoint and provide your own merchant_customer_id (the unique id of the customer in your system). The response returns id which is the Yuno customer id.
  2. Use Retrieve Customer with the Yuno id.
  3. Use Retrieve Customer by External Id with query parameter merchant_customer_id.

Enroll NuPay payment method

Follow the steps below to enroll the NU_PAY_ENROLLMENT payment method to a customer.
With the SDK integration, Yuno handles displaying the NuPay payment method, redirecting the customer to NuBank for authentication, and managing the return flow.

Step 1: Create a customer

Create a customer and obtain their Yuno customer id using the Create Customer endpoint.

Step 2: Create a customer session

Use the customer id and the Create Customer Session endpoint to receive a customer_session.

Step 3: Initialize the SDK and enroll

Initialize Yuno’s SDK (Web, Android, or iOS) with the customer_session.If using the SDK checkout or headless integration, call Enroll Payment Method (Checkout) (POST /customers/sessions/{customer_session}/payment-methods) with payment_method_type: NU_PAY_ENROLLMENT.The SDK automatically displays the NuPay payment method, manages the customer redirection to NuBank, and handles the authentication flow.

Step 4: Confirm enrollment

Listen to webhooks or retrieve enrolled payment methods to verify the status is ENROLLED.

Payments without enrollment (2FA mode)

You can accept one-time payments with NuPay without requiring the customer to enroll their payment method. This is often referred to as 2FA mode, as the customer authenticates each transaction individually.
Accept payments without enrollment using Yuno’s SDK. The SDK handles displaying NuPay and redirecting the customer to complete the authentication.

Step 1: Create a checkout session

Start by creating a checkout session using the Create Checkout Session endpoint.
{
  "country": "BR",
  "customer_id": "{{customer_id}}",
  "merchant_order_id": "order-0000024",
  "amount": {
    "currency": "BRL",
    "value": 15000
  }
}
The response returns a checkout_session ID.

Step 2: Initialize the SDK

Initialize Yuno’s SDK (Web, Android, or iOS) with the checkout_session ID. NuPay will automatically render as an available payment option in the SDK interface.

Step 3: Customer completes payment

When the customer selects NuPay:
  1. The SDK prompts the customer for authentication.
  2. The customer is redirected to Nu for 2FA authentication.
  3. The SDK receives the result and processes the payment through Yuno.

Step 4: Handle SDK workflow payments (Optional)

If you are calling the Yuno payments API directly while using the SDK checkout, set the workflow to SDK_CHECKOUT and pass the checkout.session token:
{
  "description": "One-time NuPay Payment via SDK",
  "account_id": "{{account_id}}",
  "merchant_order_id": "0000024",
  "country": "BR",
  "amount": {
    "currency": "BRL",
    "value": 150
  },
  "customer_payer": {
    "id": "{{customer_id}}"
  },
  "workflow": "SDK_CHECKOUT",
  "checkout": {
    "session": "{{checkout_session_id}}"
  },
  "payment_method": {
    "type": "NU_PAY"
  }
}

Payments with payment conditions (installments)

NuPay supports installments for both enrolled payment methods and one-time payments (2FA mode).
NuPay supports installments for enrolled payment methods and one-time payments (2FA mode) within the SDK.

Step 1: Get payment conditions

Request available installment options using the APM installments endpoint, depending on the flow:
curl --location 'https://api-sandbox.y.uno/v1/apm-installments' \
--header 'public-api-key: {{your_public_api_key}}' \
--header 'private-secret-key: {{your_secret_api_key}}' \
--header 'X-account-code: {{your_account_code}}' \
--header 'Content-Type: application/json' \
--data '{
  "country": "BR",
  "amount": {
    "currency": "BRL",
    "value": "250"
  },
  "customer": {
    "id": "{{customer_id}}"
  },
  "payment_method": "NU_PAY_ENROLLMENT",
  "vaulted_token": "{{vaulted_token}}"
}'
Select the plan id and installments number from the response.

Step 2: Create payment using SDK workflow

Create the payment using the SDK workflow by setting workflow: "SDK_CHECKOUT" and passing the checkout.session along with the plan details:
{
  "description": "NuPay Installment Payment via SDK",
  "account_id": "{{account_id}}",
  "merchant_order_id": "0000023",
  "country": "BR",
  "amount": {
    "currency": "BRL",
    "value": 250
  },
  "customer_payer": {
    "id": "{{customer_id}}"
  },
  "workflow": "SDK_CHECKOUT",
  "checkout": {
    "session": "{{checkout_session_id}}"
  },
  "payment_method": {
    "type": "NU_PAY_ENROLLMENT",
    "vaulted_token": "{{vaulted_token}}",
    "detail": {
      "wallet": {
        "card_data": {
          "installments_plan_id": "{{plan_id}}",
          "installments": 2
        }
      }
    }
  }
}

Subscription flow

You can use NuPay for recurring charges.
Recurring payments/subscriptions with NuPay can be easily set up using the SDK enrollment token:
  1. Create a customer.
  2. Enroll NuPay via Yuno SDK (Checkout workflow) to obtain a vaulted_token.
  3. Create a subscription with the enrolled vaulted_token using the Create subscription endpoint.
  4. Retrieve and manage subscription state as needed.
Limitations
  • Subscriptions with NuPay do not support payment conditions (installments)
  • Creating subscriptions directly within a payment request is not supported

Endpoints