El flujo de afiliaciones permite registrar o actualizar información asociada a un beneficiario desde Pay-me SDK iOS.
Flujo de integración
Importa el SDK
Agrega UIKit y Payme en el ViewController desde donde iniciarás el flujo.
Construye el request
Crea PAYMEAffiliationRequest con datos de afiliación, beneficiario y configuración.
Configura PaymeClient
Inicializa PaymeClient con delegate, merchantCode y ambiente.
Invoca el formulario
Envía accessToken y paymeAffiliationRequest en invokeAffiliationForm.
Procesa la respuesta
Implementa onAffiliationResponse para recibir el resultado final del flujo.
Importar PaymeSDK
import UIKit
import Payme
Parámetros principales
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.
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.