wwwpaypal vender por pago identidad hacer como php paypal express-checkout recurring

php - vender - API de pago exprés de PayPal: ¿hay alguna forma de procesar ambos pagos recurrentes en una sesión utilizando el método CreateRecurringPaymentsProfile?



token de identidad de paypal woocommerce (2)

Solo puede llamar a CreateRecurringPaymentsProfile solo una vez en una sesión (un token). deberías llamar a SetExpressCheckout para obtener otro token.

Intenté procesar dos pagos recurrentes en una sesión utilizando el método CreateRecurringPaymentsProfile. Aquí está la cronología de mis acciones:

Primero configuro el método SetExpressCheckout:

''METHOD'' => ''SetExpressCheckout'', ''RETURNURL'' => $this->paypalreturnurl, ''CANCELURL'' => $this->paypalcancelurl, ''PAYMENTREQUEST_0_CURRENCYCODE'' => $this->paypalcurrencycode, ''PAYMENTREQUEST_0_PAYMENTACTION''=> ''SALE'', ''L_BILLINGTYPE0'' => ''RecurringPayments'', ''L_BILLINGAGREEMENTDESCRIPTION0''=> ''Tier 1 + Management Services'', ''PAYMENTREQUEST_0_DESC'' => ''Tier 1 + Management Services'', ''L_PAYMENTREQUEST_0_NAME0'' => ''Tier 1'', ''L_PAYMENTREQUEST_0_NUMBER0'' => ''10101'', ''L_PAYMENTREQUEST_0_QTY0'' => ''1'', ''L_PAYMENTREQUEST_0_AMT0'' => ''0.02'', ''L_PAYMENTREQUEST_0_DESC0'' => ''Description of Tier 1'', ''L_PAYMENTREQUEST_0_NAME1'' => ''Management Services 8 hours - for $0.01'', ''L_PAYMENTREQUEST_0_NUMBER1'' => ''212121'', ''L_PAYMENTREQUEST_0_QTY1'' => ''1'', ''L_PAYMENTREQUEST_0_AMT1'' => ''0.01'', ''L_PAYMENTREQUEST_0_DESC1'' => ''Description of Management Services 8 hours - for $0.01'', ''PAYMENTREQUEST_0_ITEMAMT'' => ''0.03'', ''PAYMENTREQUEST_0_AMT'' => ''0.03''

Después de una respuesta exitosa del método SetExpressCheckout, el primer pago recurrente se ejecuta con éxito utilizando el método CreateRecurringPaymentsProfile. Aquí están los parámetros:

''L_PAYMENTREQUEST_0_NAME0'' => ''Management Services 8 hours - for $0.01'', ''PROFILEREFERENCE'' => ''RPInvoice1234'', ''PROFILESTARTDATE'' => date(''Y-m-d'') . ''T'' . date(''H:i:s'').''Z'', ''SUBSCRIBERNAME'' => ''Mr Sub Scriber'', ''TOKEN'' => urlencode($token), ''DESC'' => ''Tier 1 + Management Services'', ''AMT'' => ''0.01'', ''BILLINGPERIOD'' => ''Month'', ''BILLINGFREQUENCY'' => ''1'', ''TOTALBILLINGCYCLES'' => ''12'', ''REGULARTOTALBILLINGCYCLES'' => ''1'', ''VERSION'' => ''74.0'', ''MAXFAILEDPAYMENTS'' => ''1'', ''L_PAYMENTREQUEST_0_AMT0'' => ''0.01'', ''INITAMT'' => ''0.01'', ''L_PAYMENTREQUEST_0_NUMBER0'' => ''212121'', ''L_PAYMENTREQUEST_0_QTY0'' => ''1'', ''L_BILLINGTYPE0'' => ''RecurringPayments'', ''L_BILLINGAGREEMENTDESCRIPTION0''=> ''Tier 1 + Management Services'', ''L_PAYMENTREQUEST_0_ITEMCATEGORY0''=> ''Digital''

Después de la respuesta exitosa del método CreateRecurringPaymentsProfile, traté de crear otro pago recurrente ( desafortunadamente sin éxito ) usando parámetros similares y nuevamente el método CreateRecurringPaymentsProfile:

''L_PAYMENTREQUEST_0_NAME0'' => ''Hosted Saas Tier 1'', ''PROFILEREFERENCE'' => ''RPInvoice123'', ''PROFILESTARTDATE'' => date(''Y-m-d'') . ''T'' . date(''H:i:s'').''Z'', ''SUBSCRIBERNAME'' => ''Mr Sub Scriber 2'', ''TOKEN'' => urlencode($token), ''DESC'' => ''Hosted Saas Tier 1 + Community Management Services'', ''AMT'' => ''0.02'', ''BILLINGPERIOD'' => ''Month'', ''BILLINGFREQUENCY'' => ''1'', ''TOTALBILLINGCYCLES'' => ''12'', ''REGULARTOTALBILLINGCYCLES'' => ''1'', ''VERSION'' => ''74.0'', ''MAXFAILEDPAYMENTS'' => ''1'', ''L_PAYMENTREQUEST_0_AMT0'' => ''0.02'', ''INITAMT'' => ''0.02'', ''L_PAYMENTREQUEST_0_NUMBER0'' => ''10101'', ''L_PAYMENTREQUEST_0_QTY0'' => ''1'', ''L_BILLINGTYPE0'' => ''RecurringPayments'', ''L_BILLINGAGREEMENTDESCRIPTION0''=> ''Hosted Saas Tier 1 + Community Management Services'', ''L_PAYMENTREQUEST_0_ITEMCATEGORY0''=> ''Digital''

Lamentablemente, este método siempre devuelve el mismo error, independientemente de los cambios que hice:

La descripción del perfil no es válida, L_ERRORCODE0 = 11581.

Cuando cambio la orden de pagos recurrentes, aparece el mismo error para el primer pago recurrente con el título "Servicios de administración 8 horas: ¡por $ 0.01" ! El problema es que cada vez que un segundo recurrente devuelve el mismo error: "La descripción del perfil no es válida, L_ERRORCODE0 = 11581."

¿Cómo puedo hacer que esto funcione?


Finalmente, con un poco de ayuda del soporte de PayPal, encuentro una solución para crear múltiples perfiles recurrentes en una sola sesión de Express Checkout:

  • Primero debe pasar ambos perfiles en el método SetExpressCheckout (primer método en mi ejemplo), por ejemplo:

L_BILLINGTYPE0 = Pagos recurrentes

L_BILLINGAGREEMENTDESCRIPTION0 = Nivel 1

y segundo producto

L_BILLINGTYPE1 = Pagos recurrentes

L_BILLINGAGREEMENTDESCRIPTION1 = Servicios de gestión

  • Y luego, después de que el comprador haya aprobado ambos en PayPal, debe llamar a CreateRecurringPaymentsProfile dos veces :

Una enviando "DESC" con el valor "Tier 1" y otra enviando "DESC" con el valor "Management Services"

También verifica esto