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
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"
}
Una vez creada la transacción, estos serán los datos de respuesta
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
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
Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws visible
Formulario de redirección