Obtener Métodos de Pago

Este paso es fundamental en la creación de una transacción, ya que permite recuperar los métodos de pago disponibles para una reserva previamente realizada.

1. Método de Acceso

Parámetro

Descripción

URL (Versión por defecto 3.21)

{baseurl}/api/paymentmethods?PartnerId={partnerId}

URL (Versión 3.60)

{baseurl}/api/paymentmethods?PartnerId={partnerId}&api-version=3.60

Verbo HTTP

GET

Formato de Envío

application/json

 

2. Datos de Envío

Para obtener los métodos de pago disponibles, se deben enviar los siguientes parámetros:

Campo

Descripción

PartnerId

Identificador único del colaborador.

ReservationId

Identificador de la reserva obtenida en el paso anterior.

IsTest

Si es true, no se realizará ninguna acción real en la API, solo una simulación.

api-version

Versión de la API a utilizar (por defecto 3.21).

 

3. Ejemplo de Petición

curl -X GET "{baseurl}/api/paymentmethods?PartnerId={partnerId}&ReservationId=zp83haxd5ucwn" \

     -H "Content-Type: application/json"

También puedes hacer la solicitud desde un navegador o Postman con la siguiente URL:

{baseurl}/api/paymentmethods?PartnerId={partnerId}&ReservationId=zp83haxd5ucwn

 

4. Estructura de la Respuesta

La API devuelve un array con los métodos de pago disponibles, incluyendo su identificador, nombre, tipo y otros detalles.

Campo

Descripción

PaymentMethods

Array con los métodos de pago disponibles.

Id

Identificador del método de pago.

Type

Tipo de método de pago.

Name

Nombre del método de pago.

EnableSendByEmail

Indica si es posible enviar un enlace de cobro por correo.

CommercialName

Nombre comercial del método de pago.

Fields

Array de campos requeridos para completar el pago.

Success

true si la llamada fue exitosa.

Timestamp

Hora en la que se procesó la solicitud.

ErrorMessage

Mensaje de error en caso de falla.

ErrorCodes

Códigos de error, si los hay.

5. Ejemplo de Respuesta Exitosa

{

    "PaymentMethods": [

        {

            "Id": "pay123",

            "Type": 1,

            "Name": "Tarjeta de Crédito",

            "EnableSendByEmail": true,

            "CommercialName": "Pago con tarjeta",

            "Fields": [

                {

                    "Id": "cardNumber",

                    "Name": "Número de Tarjeta",

                    "IsRequired": true,

                    "RegexValidation": "^[0-9]{16}$",

                    "RegexValidationErrorMessage": "El número de tarjeta debe tener 16 dígitos",

                    "DefaultValue": "",

                    "DataType": 0

                },

                {

                    "Id": "cvv",

                    "Name": "Código de Seguridad",

                    "IsRequired": true,

                    "RegexValidation": "^[0-9]{3}$",

                    "RegexValidationErrorMessage": "El CVV debe tener 3 dígitos",

                    "DefaultValue": "",

                    "DataType": 1

                }

            ]

        },

        {

            "Id": "pay456",

            "Type": 2,

            "Name": "PayPal",

            "EnableSendByEmail": false,

            "CommercialName": "Pago con PayPal",

            "Fields": []

        }

    ],

    "Success": true,

    "Timestamp": "2025-02-05T15:30:00.000Z"

}

6. Ejemplo de Respuesta con Error

Si la ReservationId no es válida o ya ha expirado, la API devolverá un mensaje de error:

{

    "Success": false,

    "ErrorMessage": "No se encontraron métodos de pago para esta reserva.",

    "Timestamp": "2025-02-05T15:32:00.000Z"

}

7. Consideraciones Finales

  • Cada método de pago puede incluir campos obligatorios, como el número de tarjeta o el CVV.
  • Algunos métodos permiten el pago mediante enlace por correo (EnableSendByEmail: true).
  • El Type del método de pago debe usarse posteriormente para crear la transacción.
  • Si no hay métodos de pago disponibles, la reserva podría haber expirado o necesitar más información.

¿Te ha parecido útil este artículo?