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,
::Transbank::Common::IntegrationApiKeys::WEBPAY, :integration)
@resp = @tx.create(
buy_order,
session_id,
amount,
return_url
)
{
"token": "01ab4d3a12473945bc45c8000c2b2180df99a9474771caa6ad03056f8554574a",
"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: "https://webpay3gint.transbank.cl/webpayserver/initTransaction", data: { remote: false }, method: :post do |form|
form.hidden_field :token_ws, value: "01ab4d3a12473945bc45c8000c2b2180df99a9474771caa6ad03056f8554574a"
form.submit "Pagar"
end
Usando los siguientes datos
Campo
valor
Orden de compra(buyOrder)
buyOrder_604
ID de sesión (sessionid)
sessionId_41
Monto (amount)
1000
URL de retorno (returnUrl)
https://tbk-ruby-test.continuumhq.dev/webpay_plus/commit
Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws visible
Formulario de redirección