webpayplus

Crear Transacción diferida

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::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"
}

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_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

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