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.

El flujo de afiliaciones permite registrar o actualizar información asociada a un beneficiario desde Pay-me SDK iOS.
Antes de inicializar este flujo, completa Instalación SDK iOS, revisa Parámetros de afiliación y genera un Access Token desde backend usando Autenticación.

Flujo de integración

1

Importa el SDK

Agrega UIKit y Payme en el ViewController desde donde iniciarás el flujo.
2

Construye el request

Crea PAYMEAffiliationRequest con datos de afiliación, beneficiario y configuración.
3

Configura PaymeClient

Inicializa PaymeClient con delegate, merchantCode y ambiente.
4

Invoca el formulario

Envía accessToken y paymeAffiliationRequest en invokeAffiliationForm.
5

Procesa la respuesta

Implementa onAffiliationResponse para recibir el resultado final del flujo.

Importar PaymeSDK

import UIKit
import Payme

Parámetros principales

PaymeClient

  • delegate: instancia que implementa los métodos de PaymeClientDelegate.
  • merchantCode: código del comercio entregado por Alignet.
  • PaymeEnviroment.development: ambiente de pruebas.
  • PaymeEnviroment.production: ambiente productivo.
  • from: UINavigationController o controlador desde donde se invoca el SDK.
  • accessToken: token generado desde backend para esta solicitud.
  • paymeAffiliationRequest: objeto con información de la afiliación.

Ejemplo de inicialización

let beneficiary = PAYMEAddressData(
    firstName: "Producto",
    lastName: "Alignet",
    email: "producto@alignet.com",
    phone: "51-999999999",
    identityDocument: PAYMEIdentityDocument(
        type: "DNI",
        identifier: "77777777",
        country: "PE"
    ),
    addressLine1: "Av casimiro Ulloa 333",
    addressLine2: nil,
    city: "Lima",
    state: "Lima",
    country: "PE"
)

var additionalFields = [String: String]()
additionalFields["FACTURACION_ID"] = "CODE_12345"
additionalFields["reserved1"] = "1"

let affiliation = PAYMEAffiliationData(
    type: PAYMEAffiliationType.MANUAL,
    amount: nil,
    currency: "604",
    additionalFields: additionalFields,
    beneficiary: beneficiary
)

let paymeAffiliationRequest = PAYMEAffiliationRequest(
    action: PAYMEAffiliationAction.CREATE,
    affiliationCode: "AFFILIATION_CODE",
    affiliation: affiliation,
    setting: PAYMESettingData(
        locale: "es_PE",
        walletUserID: "WALLET_USER_CODE"
    )
)

let paymeClient = PaymeClient(
    delegate: self,
    merchantCode: "MERCHANT_CODE"
)

paymeClient.setEnvironment(
    environment: PaymeEnviroment.development
)

paymeClient.invokeAffiliationForm(
    from: self.navigationController!,
    accessToken: "TOKEN_GENERADO_PARA_ESTA_SOLICITUD",
    paymeAffiliationRequest: paymeAffiliationRequest
)
El accessToken debe generarse desde backend para la solicitud. No incluyas credenciales ni secretos dentro de la app.

Implementar delegate

Para completar la integración, la clase debe implementar PaymeClientDelegate y procesar la respuesta de afiliación.
extension MainController: PaymeClientDelegate {
    func onAffiliationResponse(response: PAYMEAffiliationResponse) {
        // Procesa el resultado final de la afiliación.
    }
}

Siguiente paso

Parámetros de afiliación

Revisa el detalle completo de los objetos enviados y recibidos por el flujo de afiliación.