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::Transaction.new(
::Transbank::Common::IntegrationCommerceCodes::WEBPAY_PLUS_DEFERRED,
::Transbank::Common::IntegrationApiKeys::WEBPAY, :integration)
@resp = @tx.create(
buy_order,
session_id,
amount,
return_url
)
{
"token": "01ab70ce4bb1557ea2872de3e4dd5408fd94b49886c4063cdad0afcc0be0d5c1",
"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_455
ID de sesión (sessionid)
sessionId_177
Monto (amount)
1000
URL de retorno (returnUrl)
https://tbk-ruby-test.continuumhq.dev/webpay_plus_deferred/commit
Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws visible
Formulario de redirección