Botón de Pago: Método Prepare

Como vimos en la implementación del botón del pago, el método prepare nos ayuda a preparar la transacción que se llevará a cabo, es necesario indicar al servicio PayPhone los parámetros de los cuales se compone la venta, como el valor, los impuestos, entre otros. Debes hacer una llamada POST a la siguiente dirección:  https://pay.payphonetodoesposible.com/api/button/Prepare  con un objeto del tipo Json que cuente con los siguientes parámetros:

Todos los valores monetarios a enviar deben ir multiplicados por 100, por ejemplo, $1 dólar = 100; $1.50 dólares = 150.

Nombre Tipo Opcional Descripción
Amount Integer Valor total por cobrar al cliente
AmountWithoutTax Integer X Valor del subtotal de los productos que no cobran impuestos. Solo se usa con tipo de facturación tarifa 0% o mixta.
AmountWithTax Integer X Valor del subtotal de los productos que cobran impuestos sin sumar el valor de los impuestos. Solo se usa con tipo de facturación con IVA o mixta.
Tax Integer X Valor total de los impuestos. Solo se usa con tipo de facturación con IVA o mixta.
Service Integer X Valor del servicio
Tip Integer X Valor de la propina
Currency String X Moneda con la que se cobra, ejemplo “USD”.
TimeZone Integer X Zona horaria con la que se cobra.
Lat String X Latitud de la ubicación de la tienda.
Lng String X Longitud de la ubicación de la tienda.
ClientTransactionId String Identificador de la transacción en la aplicación del cliente (String asignado por ti o tu plataforma)
ResponseUrl String Url de respuesta donde PayPhone enviara al cliente después de finalizada la transacción
Lang String X Lenguaje de la transacción
StoreId String X Id del Store que va a cobrar, Este valor solo se envía cuando se manejan diferentes tiendas o sucursales, si no se usan diferentes tiendas se puede omitir. Para especificar que tienda hace el cobro, el storeID se obtiene desde la página web de PayPhone Developer, en la sección solicitud de compañía, columna Acciones, Listado de tiendas.
TerminalId String X Id del terminal que va a cobrar
Reference String X Referencia de la transacción, por ejemplo “Venta Zapatos Azules”
AditionalData String X Datos adicionales que quieras guardar de la transacción.
OptionalParameter1 String X Parámetro opcional a tu disposición.
OptionalParameter2 String X Parámetro opcional a tu disposición.
OptionalParameter3 String X Parámetro opcional a tu disposición.

No olvides que en la llamada POST debes agregar una cabecera (header) de tipo “Authorization” indicando el token de autenticación generado previamente (Haz click aquí para ver como obtener el token), debes poner antes del token la palabra “Bearer “. Recuerda que el Amount (Valor a cobrar) es la suma del detalle de los campos amountWithTax, amountWithoutTax, tax, service y tip, todos estos son opcionales, pero debe haber al menos uno para que el amount se vea respaldado. Para el siguiente ejemplo usaremos amount y amountwithouttax con el mismo valor.  La llamada en formato cUrl sería de la siguiente manera:

curl -X POST \
https://pay.payphonetodoesposible.com/api/button/Prepare\
-H 'authorization: Bearer {TU TOKEN AQUÍ}' \
'Amount=<span style="color: #ff9900;">VALORACOBRAR</span>&amp;AmountwithoutTax=<span style="color: #ff9900;">VALORACOBRARSINIMPUESTO</span>&amp;clientTransactionId=<span style="color: #ff9900;">TUCLIENTTRANSACTIONID</span>&amp;responseURL=<span style="color: #ff9900;">TUURLDERESPUESTA</span>'

Cuando hagas la llamada POST, recibirás un objeto Json con los siguientes parámetros:

  • paymentId: Identificador del pago.
  • payWithPayPhone: URL a la que debes redirigir al usuario para que realice el pago utilizando PayPhone.

Cuando el cliente pague a través del botón PayPhone, el sistema lo redirigirá a tu URL de respuesta con un atributo «ID» que debes recuperar ejecutando un GET en tu URL.

Este ID te ayudara para completar la segunda parte del botón de pago, el método confirm

Puedes consultar el catálogo de errores haciendo click aquí.

Leave A Comment?