Aunque el proceso está muy bien detallado en los documentos de Paypal.
El código es así: Los documentos establecen que - Cuando un cliente está listo para pagar -
Request ------- Endpoint URL: https://api-3t.sandbox.paypal.com/nvp HTTP method: POST POST data: USER=insert_merchant_user_name_here &PWD=insert_merchant_password_here &SIGNATURE=insert_merchant_signature_value_here &METHOD=SetExpressCheckout &VERSION=86 &L_BILLINGTYPE0=RecurringPayments #The type of billing agreement &L_BILLINGAGREEMENTDESCRIPTION0=FitnessMembership #The description of the billing agreement &cancelUrl=http://www.yourdomain.com/cancel.html #For use if the consumer decides not to proceed with payment &returnUrl=http://www.yourdomain.com/success.html #For use if the consumer proceeds with payment Response -------- TOKEN=EC%2d2B984685J43051234 &ACK=Success ...Puedo crear esta llamada y obtener el token. lo que estoy confundido es cuando en realidad se va a iniciar esta llamada. Qué evento debería desencadenar esta llamada.
Como en el segundo paso, menciona redirigir al cliente a Paypal para su autorización.
Paso 3: si el cliente proporciona autorización, se redirige al cliente a la URL de retorno, obtenga los detalles del cliente.
Paso 4: cree un perfil recurrente.
así que me siento un poco perdido el flujo de cómo debería manejar eso.
pero aquí está la confusión. cuando el usuario hace clic en suscribirse, se inicia la llamada API y se obtiene un token y necesito redirigir al cliente a Paypal para la autorización.
Ok, puedo lograr eso también. pero cuando el usuario es redirigido a Paypal no se crea el perfil. Solo él autoriza el pago y lo redirige a mi sitio.
Aquí la principal confusión, qué y cómo interactuaré con el cliente que regresa a mi sitio, que ya se suscribió en primera instancia.
El primer paso que realiza es SetExpressCheckout, que es básicamente obtener un token de PayPal y redirigir al cliente a la página de pago de PayPal para autorizar el pago.
El pago exprés es un punto de entrada para varias de las integraciones de PayPal, que son:
1) Pago único (SetExpressCheckout -> DoExpressCheckoutPayment)
2) Transacción de referencia ( SetExpressCheckout -> CreateBillingAgreement -> DoReferenceTransaction )
3) Pago recurrente ( SetExpressCheckout -> CreateRecurringPaymentsProfile )
Para su caso, dado que desea crear un perfil recurrente, una vez que su cliente sea redirigido a su sitio, debe llamar a CreateRecurringPaymentsProfile.