Preview de la compra

Esta funcionalidad le permite a los comercios mostrar los valores que pueden afectar el monto final de una transacción de compra.

Cuando un comercio realiza una compra, los montos de ésta pueden ser modificados por varios motivos:

  • Conversión de moneda (USD a Moneda local del país destino)
  • tasas que debe pagar el cliente
  • Impuestos
  • etc.

Por ejemplo, en Argentina existen distintos impuestos que afectan el monto final y, como consecuencia, el comercio no puede mostrarle al cliente el monto real que le estará cobrando hasta no finalizar la compra.

Como solución, creamos un que le permite al comercio realizar una vista previa del monto que se le cobrará al cliente para que pueda informar previo a la ejecución de la compra.

En el siguiente ejemplo, se muestra la forma en que se sugiere que los comercios muestran el preview en Argentina.

PrintScreen

Request

Para hacer uso del preview de la compra, se debe apuntar al siguiente endpoint:

GET https://api.stage.bamboopayment.com/v1/api/purchase/preview

En el encabezado, se debe configurar el parámetro Authorization concatenando la palabra Basic, un espacio y la Private Key del comercio.

Ejemplo del Response

{
    "baseAmount": 100,
    "currency": "USD",
    "countryIso": "AR",
    "paymentMediaId": 1,
    "customer": {
      "documentTypeId": 5,
      "docNumber": "20222222223",
      "state": "Buenos Aires",
      "postalCode": "8512"
    }
 }

Donde:
ParámetroTipo¿Obligatorio?Descripción
baseAmountintegerMonto a pagar antes de impuestos.
currencystringMoneda del monto definido en baseAmount.
countryIsostringPaís en formato ISO 3166-2.
paymentMediaIdstringNoIdentificador del medio de pago. Este identificador lo puede obtener consultando la sección Medios de Pago por país en la documentación.
customerobjectNo*Información del pagado.
*Requerido para Argentina.
customer.documentTypeIdstringNoTipo de documento del pagador.
customer.docNumberstringNoNúmero de documento del pagador.
customer.statestringNo*Estado o Provincia del pagador.
*Para Argentina, este campo es obligatorio y debe incluir su valor correspondiente utilizando la tabla mostrada en esta sección.
customer.postalCodestringNoCódigo Postal del pagador.

Response

A continuación, mostramos un ejemplo de la respuesta a la petición mostrada previamente

Ejemplo del Response

{
  "Response": {
      "Success": true,
      "Data": {
          "Date": "2023-03-30T20:35:39.3139535+00:00",
          "Currency": "ARS",
          "ExchangeRate": {
              "Value": 402.090000,
              "FromCurrencyIsoCode": "USD",
              "ToCurrencyIsoCode": "ARS",
              "TypeCode": "Median",
              "Date": "2023-03-29T19:00:00"
          },
          "TotalAmount": 58865.98,
          "TaxDetails": [
              {
                  "TaxCode": "AR-VAT-DIGITAL",
                  "TaxName": "VAT",
                  "TaxAmount": 9650.16,
                  "TaxPercentage": 20.0,
                  "ResponsableType": "Merchant"
              },
              {
                  "TaxCode": "AR-INGR-BRUTOS",
                  "TaxName": "II.BB",
                  "TaxAmount": 965.016,
                  "TaxPercentage": 2.0,
                  "ResponsableType": "Merchant"
              }
          ],
          "AmountDetails": [
              {
                  "CurrencyCode": "ARS",
                  "AmountCategoryCode": "EfEx",
                  "Amount": 8041.8,
                  "Sign": "Debit",
                  "ResponsableType": "Buyer"
              },
              {
                  "CurrencyCode": "ARS",
                  "AmountCategoryCode": "Gross",
                  "Amount": 40209,
                  "Sign": "Debit",
                  "ResponsableType": "Buyer"
              }
          ]
      }
  },
  "Errors": null
}

Los parámetros en el response son los siguientes:

ParámetroTipoDescripción
SuccessbooleanDetermina si el resultado de la operación fue exitoso.
Data.DatedateFecha en la que se ejecutó el proceso.
Data.CurrencystringCódigo ISO de la moneda del merchant. Es decir, la moneda destino en la conversión.
Data.ExchangeRate.valuenumberMonto de al que equivale la moneda origen en la moneda destino.
Data.ExchangeRate.FromCurrencyIsoCodestringCódigo ISO de la moneda origen.
Data.ExchangeRate.ToCurrencyIsoCodestringCódigo ISO de la moneda destino.
Data.ExchangeRate.TypeCodestring
Data.ExchangeRate.DatedateFecha de la última actualización de la tasa de conversión.
Data.TotalAmountnumberMonto total final de la compra en moneda local luego de aplicar los valores que la afecten (Impuestos, conversiones, etc.).
Data.TaxDetailsobjectContiene el detalle de los impuestos que aplican a la transacción.
Data.AmountDetailsobjectContiene el detalle de los subtotales de la transacción.

Objeto TaxDetails

A continuación, explicamos los subparámetros del objeto TaxDetails.

ParámetroTipoDescripción
TaxCodestringCódigo del impuesto definido por Bamboo Payment.
TaxNamestringNombre del impuesto que se aplica.
TaxAmountnumberValor total del impuesto.
TaxPercentagenumberPorcentaje que corresponde al impuesto.
ResponsibleTypestringIndica si el responsable del impuesto es el comercio (Merchant) o el pagador (Buyer).

Objeto AmountDetails

A continuación, explicamos los subparámetros del objeto AmountDetails.

ParámetroTipoDescripción
CurrencyCodestringCódigo ISO de la moneda del monto.
AmountCategoryCodestringCategoría del monto.
AmountnumberValor del monto.
SignstringIndica si el monto es un movimiento débito o crédito.
ResponsibleTypestringIndica si el responsable del impuesto es el comercio (Merchant) o el pagador (Buyer).
footer
Última modificación 28 de noviembre de 2024

© Bamboo | All rights reserved 2024