Stripe Specific Post/Page Form (Buy now) problem

Hi, I am having issues to get a Specific Post/Page Form to work in s2Member either sandtest or live.

I have enabled s2member logging with no debug info either.

The problem is the following:
The payment form is shown and connects to Stripe.
Stripe receives the card info and process a successful charge.
The event delivery seems that is hanging even though the web hook specified by s2Member is activated.
Once the payment form is submitted, the page will reload to a blank page with the same URI even though a successful redirect was added to the shortcode.

Please advise what could be wrong. It doesn’t seems to be at the Stripe side since the charge is successfully made.

Thanks

This is the Form Shorcode by the way:
[s2Member-Pro-Stripe-Form sp=“1” ids=“3220” exp=“8760” desc=“Paquete publicitario Cargo único - Premium” cc=“MXN” custom=“celebraciones.com.mx” ra=“2000” coupon="" accept_coupons=“1” default_country_code=“MX” captcha=“0” success="/success/" /]

Try with full URL at “success” attribute.

Hola Eduardo.

Do you have any log entries for the transaction where you see the problem? Could you show them to me? (Change any sensitive data, please.)

Also, did you do these? https://s2member.com/kb-article/common-troubleshooting-tips/

Your English is great, but if you prefer Spanish, no tengo ningún problema. :wink:

I look forward to your update with the log entries.

Hola Clavaque:

Agradezco mucho tu apoyo, el detalle es que la comunicación entre s2member y Stripe se da sin problema pero para validar la tarjeta utilizada (como pre-autorización), el detalle viene cuando se le da Submit a la “form” de s2M, en realidad pareciera que es cuando ya no sucede nada más. El log s2-http-api-debug.log no muestra nada de Stripe (pero sí de Paypal cuando Paypal tiene su propio Log), eso es lo que más me llama la atención porque Stripe si tiene registros. No se si tenga que ver con el webhook. Agrego una sección de ambos logs:

s2-http-api-debug.log (s2Member para Stripe)
LOG ENTRY: Tue Jan 29th, 2019 @ precisely 3:39 am UTC
PHP v7.0.33 :: WordPress v4.9.8 :: s2Member v170722 :: s2Member Pro v170722
Memory 63.72 MB :: Real Memory 66.00 MB :: Peak Memory 63.77 MB :: Real Peak Memory 66.00 MB
yyy.com/calculadora-de-vinos/?preview_id=3205&preview_nonce=ad6bacab09&_thumbnail_id=3245&preview=true
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15
Array
(
[state] => response
[transport_class] => Requests
[args] => Array
(
[method] => POST
[timeout] => 20
[redirection] => 5
[httpversion] => 1.1
[user-agent] => s2Member v170722; https://yyy.com
[reject_unsafe_urls] =>
[blocking] => 1
[headers] => Array
(
)

        [cookies] => Array
            (
            )

        [body] => Array
            (
                [METHOD] => BMCreateButton
                [BUTTONCODE] => ENCRYPTED
                [BUTTONTYPE] => BUYNOW
                [L_BUTTONVAR0] => business=zzz@yyy.com
                [L_BUTTONVAR1] => notify_url=https://yyy.com/?s2member_paypal_notify=1
                [L_BUTTONVAR2] => cancel_return=https://yyy.com/
                [L_BUTTONVAR3] => return=https://yyy.com/?s2member_paypal_return=1

Log Stripe
Date
2019/01/27 18:09:21
Type
account.application.authorized
Source
Automatic
vent data
{
“object”: {
“id”: “ca_4aLHjMS3gcH0NtF3YiPQ3YqmSMG284n”,
“object”: “application”,
“name”: “Stripe Checkout”
}
}
Webhooks
Pending
https://yyy.com/?s2member_pro_stripe_notify=1
Status
500 Pending (5 tries)
Next retry around
2019/01/29 15:30 (2 attempts left)
Retry history
[2019/01/27 18:09 to https://yyy.com/?s2member_pro_stripe_notify=1]: (500) ERR
[2019/01/27 18:39 to https://yyy.com/?s2member_pro_stripe_notify=1]: (500) ERR
[2019/01/27 20:41 to https://yyy.com/?s2member_pro_stripe_notify=1]: (500) ERR
[2019/01/27 23:40 to https://yyy.com/?s2member_pro_stripe_notify=1]: (500) ERR
[2019/01/28 15:30 to https://yyy.com/?s2member_pro_stripe_notify=1]: (500) ERR
Request
{
“id”: “evt_1DxNgjBXx19g50IaAiYnHwP”,
“object”: “event”,
“api_version”: “2017-06-05”,
“created”: 154863411,
“data”: {
“object”: {
“id”: “ca_4aLHjMS3gcH0NtF3YiPQ3YqmSMG284n”,
“object”: “application”,
“name”: “Stripe Checkout”
}
},
“livemode”: true,
“pending_webhooks”: 1,
“request”: {
“id”: null,
“idempotency_key”: null
},
“type”: “account.application.authorized”
}
Response

Hi Krumch, unfortunately it didn’t work either.

Appreciate your support.

Ninguno de estos logs aparecen en la carpeta correspondiente.
stripe-api.log
gateway-core-ipn.log
stripe-ipn.log

Ninguno de estos logs aparecen en la carpeta correspondiente.

En qué carpeta están? No en /wp-content/plugins/s2member-logs?

            [L_BUTTONVAR1] => notify_url=https://yyy.com/?s2member_paypal_notify=1
            [L_BUTTONVAR3] => return=https://yyy.com/?s2member_paypal_return=1

Estos que pusiste de s2-http-api-debug.log, eran de una transacción via Stripe? Esa será de una transacción de Paypal, no?

The event delivery seems that is hanging even though the web hook specified by s2Member is activated.
Once the payment form is submitted, the page will reload to a blank page with the same URI

Mira, para que nos aseguremos de que no hay ningún otro factor en juego, para pruebas, podrías crear una instalación nueva de WordPerss, agregarle sólo s2Member Framework y Pro, y configurar sólo la integración con Stripe (sin PayPal), activa logging, y trata de reproducir el problema que estás teniendo.

Ahí me cuéntas cómo te va, y cualquier detalle adicional que notes.

Gracias :slight_smile:

Dichos logs no aparecen en ningún lado. Solo lo de Paypal.

El problema es el Webhook, la respuesta que envía al emisor es:
Response code 500 Internal Server Error
Response
dateWed, 30 Jan 2019 05:59:59 GMT
pragmano-cache
serverApache
expiresThu, 19 Nov 1981 08:52:00 GMT
connectionclose
set-cookiePHPSESSID=81fsgk17fhu40tj5iej7svqe96; path=/
content-typetext/html; charset=UTF-8
cache-controlno-store, no-cache, must-revalidate
transfer-encodingchunked
Body
null

Intentaré en una instalación nueva y te cuento como me va.

Gracias

Hmm… A ver, checa si no es un problema con Mod Security (o algo similar). https://s2member.com/kb-article/mod-security-odd-403-503-500-errors/

Intentaré en una instalación nueva y te cuento como me va.

Va que va. :slight_smile:

Ya desactivé Mod Security y use una instalación sin otros plugins y tema Twenty twelve.

Los Webhooks siguen indicando error 500.

Este es el log y no encuentro nada raro:
LOG ENTRY: Fri Feb 1st, 2019 @ precisely 4:12 am UTC
PHP v7.0.33 :: WordPress v4.9.8 :: s2Member v170722 :: s2Member Pro v170722
Memory 29.64 MB :: Real Memory 32.00 MB :: Peak Memory 31.27 MB :: Real Peak Memory 32.00 MB
xxxxxxxxx/s2member/wp-admin/admin.php?page=ws-plugin–s2member-logs
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15
Array
(
[state] => response
[transport_class] => Requests
[args] => Array
(
[method] => POST
[timeout] => 0.01
[redirection] => 5
[httpversion] => 1.0
[user-agent] => WordPress/4.9.8; https://xxxxxxx/s2member
[reject_unsafe_urls] =>
[blocking] =>
[headers] => Array
(
)

        [cookies] => Array
            (
            )

        [body] => 
        [compress] => 
        [decompress] => 1
        [sslverify] => 
        [sslcertificates] => /mnt/sdb/celeb/public_html/s2member/wp-includes/certificates/ca-bundle.crt
        [stream] => 
        [filename] => 
        [limit_response_size] => 
        [_redirection] => 5
    )

[url] => https://xxxxxxxxxxxxxx/s2member/wp-cron.php?doing_wp_cron=1548994353.1099541187286376953125
[response] => Array
    (
        [headers] => Requests_Utility_CaseInsensitiveDictionary Object
            (
                [data:protected] => Array
                    (
                    )

            )

        [body] => 
        [response] => Array
            (
                [code] => 
                [message] => 
            )

        [cookies] => Array
            (
            )

        [filename] => 
        [http_response] => WP_HTTP_Requests_Response Object
            (
                [response:protected] => Requests_Response Object
                    (
                        [body] => 
                        [raw] => 
                        [headers] => Requests_Response_Headers Object
                            (
                                [data:protected] => Array
                                    (
                                    )

                            )

                        [status_code] => 
                        [protocol_version] => 
                        [success] => 
                        [redirects] => 0
                        [url] => 
                        [history] => Array
                            (
                            )

                        [cookies] => Requests_Cookie_Jar Object
                            (
                                [cookies:protected] => Array
                                    (
                                    )

                            )

                    )

                [filename:protected] => 
                [data] => 
                [headers] => 
                [status] => 
            )

    )

)

Sinceramente como puede ser algo del servidor u otra cosa ya estoy trabajando en el plan B que es mediante la API de Stripe con la opción de checkout para no hacerlo mediante s2member.

Te agradezco infinitamente el apoyo e interés mostrado.

Faltaba más. Siento mucho no haber podido ayudarte más que esto aún…

Entonces quieres cobrar por otro medio, pero controlar el acceso al contenido usando s2Member, no? En ese caso vas a necesitar integrar con s2 de alguna forma. Lo básico será darle al usuario un rol de nivel de s2Member, o capacidades de accesso de s2Member. (ej. access_s2member_level1) Aún así, eso no actualizaría al usuario cuando cancele su subscripción en Stripe, hará falta un poco más de trabajo.

Y ya probaste en otro server? Eres el único reportándome este error, así que debe ser algo particular al server que usas, como dijiste. Quizás a la larga sea menos trabajo usar un server que no te de esa lata.

Bueno, si hay cualquier cosa en la que te pueda ayudar, no dudes en decirme. :slight_smile:

La verdad es que ya llevo mucho tiempo utilizando s2member sin mayor problema, más que para monetizar lo uso para restringir contenidos de acuerdo a clasificación de usuarios. La parte de la monetización la manejo con Paypal y ahora quería aprovechar s2Member para monetizar también a través de Stripe pero finalmente ya pude usar Stripe de otra forma. en paralelo a s2Member.

Del lado del Server hasta el momento este VPS es el que mejor me ha funcionado y no me había dado problemas, tal vez hay alguna configuración escondida que está en conflicto con s2Member pero como ya use otra alternativa ya no tiene caso meterle mucho tiempo a la investigación.

Nuevamente gracias por el apoyo y sobretodo por la prontitud en tus respuestas.

1 Like

Muy bien. Un placer! Cuando gustes. :wink:

Ah, si no es mucho pedir, y te parece bien, dejarías un review en WordPress? Nos ayudaría un montón, y te lo agradecería muchísimo! :smiley: https://wordpress.org/support/plugin/s2member/reviews/?filter=5