Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pay-me.com/llms.txt

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

La función de cobro permite invocar Pay-me SDK desde tu app Android para mostrar el formulario de pago y recibir el resultado de la operación.
Antes de inicializar el SDK, completa Instalación SDK Android y genera un Access Token desde tu backend usando Autenticación.

Métodos disponibles

CARD

Tarjetas de crédito y débito.

YAPE

Pago con billetera Yape.

QR

Pago con billeteras móviles mediante QR.

BANK_TRANSFER

Pago mediante transferencia bancaria.

CUOTEALO

Pago financiado con Cuotéalo.

PAGO_EFECTIVO

Pago con código o canal PagoEfectivo.

Flujo de integración

1

Importa el SDK

Agrega las clases necesarias en el Activity o controlador donde iniciarás el flujo.
2

Construye el request

Crea PAYMEChargesRequest con datos de transacción, comprador, facturación y configuración.
3

Configura PaymeClient

Inicializa PaymeClient con delegate, merchantCode y ambiente.
4

Invoca el formulario

Envía sessionToken y paymeChargesRequest en invokeCaptureForm.
5

Procesa callbacks

Implementa onRespondsPayme y onPaymeEvents para cerrar el flujo en tu app.

Importar PaymeSDK

import com.alignet.payme.PaymeClient
import com.alignet.payme.PaymeClientDelegate
import com.alignet.payme.model.*
import com.alignet.payme.util.PaymeEnvironment

Parámetros principales

PaymeClient

  • delegate: Activity que implementa los métodos de PaymeClientDelegate.
  • merchantCode: Código del comercio entregado por Alignet.
  • PaymeEnvironment.DEVELOPMENT: ambiente de pruebas.
  • PaymeEnvironment.PRODUCTION: ambiente productivo.
  • from: Activity desde donde se invoca el SDK.
  • sessionToken: token generado desde backend para esta solicitud.
  • paymeChargesRequest: objeto con información de la transacción.

Ejemplo de inicialización

val customer = PAYMEAddressData(
    firstName = "Levis",
    lastName = "Silvestre",
    email = "levis.silvestre@alignet.com",
    phone = "51-958435685",
    identityDocument = PAYMEDocumentIdentity(
        type = "DNI",
        identifier = "72661927",
        country = "PE"
    ),
    addressLine1 = "Av casimiro Ulloa 333",
    addressLine2 = null,
    city = "Lima",
    state = "Lima",
    country = "PE"
)

val billingShipping = PAYMEAddressData(
    firstName = "Levis",
    lastName = "Silvestre",
    email = "levis.silvestre@alignet.com",
    phone = "51-958435685",
    addressLine1 = "Av casimiro Ulloa 333",
    addressLine2 = null,
    city = "Lima",
    state = "Lima",
    country = "PE"
)

val reservedData = hashMapOf(
    "reserved1" to "Reservado 1",
    "reserved2" to "Reservado 2",
    "reserved30" to "Reservado 30"
)

val paymeChargesRequest = PAYMEChargesRequest(
    transaction = PAYMETransactionData(
        operationNumber = "0000001",
        amount = "1000",
        currency = "604",
        additionalFields = reservedData,
        customer = customer,
        billing = billingShipping,
        shipping = billingShipping
    ),
    setting = PAYMESettingData(
        locale = "es_PE",
        paymentMethods = listOf("CARD", "YAPE", "CUOTEALO"),
        walletUserID = null
    )
)

val paymeClient = PaymeClient(
    delegate = this,
    merchantCode = "MERCHANT_CODE"
)

paymeClient.setEnvironment(
    environment = PaymeEnvironment.DEVELOPMENT
)

paymeClient.invokeCaptureForm(
    from = this,
    sessionToken = "TOKEN_GENERADO_PARA_ESTA_SOLICITUD",
    paymeChargesRequest = paymeChargesRequest
)
El sessionToken debe generarse desde backend para la solicitud. No incluyas credenciales ni secretos dentro de la app.

Implementar delegates

Para completar la integración, el Activity debe implementar PaymeClientDelegate.
class MainActivity : AppCompatActivity(), PaymeClientDelegate {
    override fun onRespondsPayme(response: PAYMEChargesResponse) {
        // Procesa el resultado final del flujo.
    }

    override fun onPaymeEvents(event: PaymeEvent) {
        // Registra eventos de navegación o interacción del SDK.
    }
}

Eventos disponibles

BUILD_FORM

Indica qué métodos se mostraron al usuario.

CHOOSE_PAYMENT_METHOD

Indica el método de pago elegido por el usuario.

RETURN_LIST_PAYMENT_METHODS

Indica que el usuario regresó al listado de métodos.

CANCEL_PAYMENT_METHOD

Indica que el usuario canceló un método de pago.

PRESS_PAY_BUTTON

Indica que el usuario presionó el botón de pago.

CLOSE_PAYME

Indica que el usuario cerró el SDK.

Validación del resultado

Usa onRespondsPayme para actualizar la experiencia de usuario, pero confirma el estado final desde backend cuando el flujo o método de pago lo requiera.

Siguiente paso

Parámetros de entrada y salida

Revisa el detalle completo de los objetos enviados y recibidos por el SDK.