Unofficial Content
  • This documentation is valid for:

Ejemplo que integra la Express Checkout API

Lo que hace es implementar una especie de débito automático a través de Paypal para los productos que se quieren vender.

Se debe editar el dominio PaypalSettings con su usuario de Paypal y otros datos que se van a entender leyendo el link anterior.

Luego desde un webpanel en el evento donde confirman que quieren comprar se debe hacer lo siguiente:

&Parms = new()
&Parms.ProductDescription = !"Nombre del producto a vender"
&Parms.Amount = 10 //Monto a cobrar
PaypalSetExpressCheckout(&Parms, &Token, &isOK )
If &isOK
   &RedirectToURL = PayPalSettings.RedirectToPaypalAuthorization + &Token            
   TBJS.Caption += !'<script>parent.location.href ="' + Link(&RedirectToURL) + !'";</script>'     
Endif

Esto llama al API para Setear en Paypal la venta que se va a cobrar como débito todos los meses y luego redirecciona a Paypal para que 
el usuario se loguee en Paypal y autorize la compra.
Luego en otro webpanel que es el que se configura el retorno desde Paypal se haces lo siguiente.

Este webpanel debe tener cómo parámetro un string desde el cual se saca el &token y el &payerid, pues cuando desde Paypal se confirma 
la compra se redirecciona a este webpanel pasando como parámetro un string y se deben obtener estos dos valores.

//Get token returned by parm by Paypal
&StartPosition = StrSearch(&Parms, !"token=", 1)
&StartPosition += 6
&EndPosition   = StrSearch(&Parms, !"&", &StartPosition)
&Length = &EndPosition - &StartPosition
&Token = &Parms.Substring(&StartPosition, &Length )
    
&StartPosition = StrSearch(&Parms, !"PayerID=", 1)
&StartPosition += 8
&Length = &Parms.Length() - &StartPosition + 1
&PayerId = &Parms.Substring(&StartPosition, &Length )

&PaypalCreateRecurringPaymentsParms = new()
&PaypalCreateRecurringPaymentsParms.ProductDescription = "Nombre del producto o servicio"        
&PaypalCreateRecurringPaymentsParms.Amount = &Amount
&PaypalCreateRecurringPaymentsParms.Taxes  = 0 //Si lleva impuestos acá se setea el valor
&PaypalCreateRecurringPaymentsParms.Token  = &Token
&PaypalCreateRecurringPaymentsParms.PayerId= &PayerId
        
PaypalCreateRecurringPaymentsProfile( &PaypalCreateRecurringPaymentsParms, &ProfileId, &Response, &isOK )

Luego de esto, esta confirmado el débito automático con Paypal por lo cual después de esto se puede terminar el proceso de venta.

xpz - Como integrar a una aplicacion GeneXus la API Express Checkout de PayPal


Last update: April 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant