> ## 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.

# Parámetros de Entrada y Salida de SDK iOS

A continuación, se detallan los parámetros de entrada y salida de Pay-me SDK para el flujo de afiliaciones:

## Parámetros de Entrada

El objeto `PMEAffiliationRequest` está compuesto por los siguientes atributos:

### Objeto PMEAffiliationRequest

| **Parámetro** | **Tipo** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- |
| action | `PAYMEAffiliationAction` | La acción a ejecutar. Puede ser CREATE o UPDATE: `PAYMEAffiliationAction.CREATE` / `PAYMEAffiliationAction.UPDATE` | SI |
| affiliationCode | String | Código de afiliación generado por el comercio | SI |
| affiliation | [Objeto PAYMEAffiliationData](#objeto-paymeaffiliationdata) | Contiene información de la afiliación. Es obligatorio cuando la acción es CREATE | NO |
| setting | [Objeto PAYMESettingData](#objeto-paymeSettingdata) | Contiene información de ajuste del comportamiento del formulario de afiliación | NO |

#### Objeto PAYMEAffiliationData

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| type | `PAYMEAffiliationType` | - | Tipo de afiliación: `FIXED` → NO DISPONIBLE / `VARIABLE` → NO DISPONIBLE / `MANUAL` → DISPONIBLE | SI |
| frequency | String | - | Frecuencia de los cobros de la afiliación | NO |
| amount | String | 11 | Monto en centavos a cobrar. Ejemplo: 0.50 → Enviar 50 / 10.00 → Enviar 1000 | NO |
| maxAmount | String | 11 | Monto máximo para pagos recurrentes, expresado en centavos | NO |
| currency | String | - | Código de moneda ISO-4217 | SI |
| additionalFields | Diccionario | - | Contiene información adicional proporcionada por el comercio | NO |
| beneficiary | [Objeto PAYMEAddressData](#objeto-paymeaddressdata) | - | Información del afiliado | SI |

#### Objeto PAYMEAddressData

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| firstName | String | 30 | Nombres | SI |
| lastName | String | 50 | Apellidos | SI |
| email | String | 50 | Correo electrónico | SI |
| phone | String | 15 | Código del país y número de celular (51-958435685) | SI |
| identityDocument | [Objeto PAYMEIdentityDocument](#objeto-paymeidentitydocument) | - | Objeto que contiene información de documento de identidad | NO |
| line1 | String | 50 | Dirección | SI |
| line2 | String | 50 | Dirección complementaria | NO |
| city | String | 50 | Ciudad/Provincia | SI |
| state | String | 15 | Estado/Departamento | SI |
| country | String | 2 | Código del País en letra. ISO-3166 | SI |

#### Objeto PAYMEIdentityDocument

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| country | String | 2 | Código del País en letra. ISO-3166. Ejm: Perú → PE | SI |
| type | String | 20 | Tipo de documento: DNI / CARNET\_EXTRANJERIA / PASAPORTE / OTROS | SI |
| identifier | String | 20 | Número de documento de identidad | SI |

#### Objeto PAYMESettingData

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| locale | String | 5 | Localización del idioma del formulario. Valor: `es_PE` (Español Perú) | SI |
| walletUserId | String | 15 | Valor para identificar el wallet de un usuario | NO |

***

## Parámetros de Salida

El objeto `PMEAffiliationResponse` está compuesto por los siguientes atributos:

### Objeto PMEAffiliationResponse

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| success | Boolean | - | `true` si el proceso fue correcto, `false` si ocurrió un error. | SI |
| resultCode | String | 2 | Código de resultado del procesamiento. | SI |
| resultMessage | String | 30 | Texto que describe el resultado del procesamiento. | SI |
| result | [Objeto PAYMEAffiliationResult](#objeto-paymeaffiliationresult) | - | Detalle del resultado de la transacción. | NO |

#### Objeto PAYMEAffiliationResult

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| affiliationId | String | 36 | Identificador único de la transacción generado por Pay-me | SI |
| affiliationCode | String | 36 | Número de operación enviado por el Comercio | SI |
| type | String | - | Tipo de afiliación: `FIXED` → NO DISPONIBLE / `VARIABLE` → NO DISPONIBLE / `MANUAL` → DISPONIBLE | SI |
| state | String | - | Estado actual de la afiliación: `ACTIVE` / `INACTIVE` | SI |
| frequency | String | - | Frecuencia de los cobros de la afiliación | NO |
| amount | String | 11 | Monto en centavos. Ejemplo: 0.50 → Enviar 50 / 10.00 → Enviar 1000 | NO |
| maxAmount | String | 11 | Monto máximo para pagos recurrentes, expresado en centavos | NO |
| currency | String | - | Código de moneda ISO-4217 | SI |
| additionalFields | Diccionario | - | Información adicional proporcionada por el comercio | NO |
| card | [Objeto PAYMEAffiliationCard](#objeto-paymeaffiliationcard) | - | Información de la tarjeta usada en la afiliación | SI |

#### Objeto PAYMEAffiliationCard

| **Parámetro** | **Tipo** | **Long.** | **Descripción** | **Obligatorio** |
| :- | :- | :- | :- | :- |
| brand | String | 4 | Marca de la tarjeta: `VISA` / `MSCD` / `AMEX` / `DINC` | SI |
| bin | String | 6 | Bin de la tarjeta | SI |
| lastPan | String | 4 | Cuatro últimos dígitos de la tarjeta | SI |
| issuerName | String | 50 | Nombre del emisor de la tarjeta | NO |
| cardholderName | String | 50 | Nombre y Apellidos del titular de la tarjeta | SI |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.