webpayplus

Crear Transacción Mall

En este paso crearemos la transacción con el objetivo de obtener un identificador unico y poder en el siguiente paso redirigir al Tarjetahabiente hacia el formulario de pago

Petición

Para comenzar debes importar WebpayPlus y luego crear una transacción

    @tx = Transbank::Webpay::WebpayPlus::MallTransaction.new(
        ::Transbank::Common::IntegrationCommerceCodes::WEBPAY_PLUS_MALL, 
        ::Transbank::Common::IntegrationApiKeys::WEBPAY, :integration)
    @resp = @tx.create(@buy_order, @session_id, @return_url, @details)

{
  "token": "01abd8eae14c005daa9cf95b63081b4a622ee0a57c76d780b7d6088bbb11a2a7",
  "url": "https://webpay3gint.transbank.cl/webpayserver/initTransaction"
}

Respuesta

Una vez creada la transacción, estos serán los datos de respuesta

Por último

Debes utilizar estos datos para crear un formulario

    form_with url: @resp["url"], data: { remote: false }, method: :post do |form| 
      form.hidden_field :token_ws, value: @resp["token"] 
      form.submit "Pagar"
    end 

Ejemplo

Creamos la transacción

Usando los siguientes datos

Campo

valor

Orden de compra(buyOrder)

buyOrder_508

ID de sesión (sessionid)

sessionId_352

Detalle (details)

[ {

ammount: 1000

commerce_code:597055555536

buy_order:childBuyOrder1_605

} {

ammount: 2000

commerce_code:597055555537

buy_order:childBuyOrder2_91

} ]

URL de retorno (returnUrl)

https://tbk-ruby-test.continuumhq.dev/webpay_plus_mall/commit

Por último

Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws visible

Formulario de redirección

VOLVER AL INICIO