New Shopify Certification now available: Liquid Storefronts for Theme Developers

[Payments App] No backend requests received from Shopify at checkout

ada29
Tourist
7 0 1

The Shopify Payments App documentation (https://shopify.dev/apps/payments/processing-a-payment#how-the-payments-app-flow-works) states that after the customer completes checkout, it will trigger a request for payment.

 

The Payment App that I am currently developing is blocked at Step 2:
Shopify sends a backend request to the payments app, specifying the amount and currency to be charged.

 

Issue: I don't receive any request from Shopify. After I hit "Complete order", I see the screen saying "Your order's being processed. If you're not automatically redirected, refresh this page", and after it refreshes itself it ends up on the checkout screen with the following message "Your payment can’t be processed for technical reasons. Try again or use a different payment method" (please see the attachments).

 

Additional info:
The Payment App extension is of type "Offsite payment provider", is approved and it has the status "Published".
The Payment App is developed in PHP.
I have configured the Apache Server to force clients to authenticate using certificates for the Payment URLs set in the Payment App extension.
<Location "/secure/area">
   # require a client certificate which has to be directly
   # signed by our CA certificate in ca.crt
   SSLVerifyClient require
   SSLVerifyDepth 1

   # https://shopify.dev/apps/payments/general-transaction-requirements#shopifys-payments-platform-root-c...
   SSLCACertificateFile "conf/ssl.crt/ca.crt"
</Location>

 

I have contacted Shopify support, and their recommendation is to write on this forum, as they are not technical persons, but they also admit that Shopify developers are not always free to reply to forum posts and are not available via Shopify Support channels like e-mails, chats, or phones.

 

Does anyone here managed to pass this step, after encountering the same issue?

Thanks.

Replies 4 (4)
mdestantini
Tourist
10 0 4

Did you find a solution? Same problem for me

ada29
Tourist
7 0 1

We have managed to pass this generic error or at least understand where it comes from.

When you encounter the "technical reason" error, first of all check your access log.

As I have mentioned before, the app is created in PHP - the place to look for it should be:

tail -50 /var/log/apache2/access.log

"POST {your payment session endpoint set in the payment app extension} HTTP/1.1" 200 3463 "-" "Faraday v1.9.3"

 

I've build the app on top of Laravel, which has a redirect directive in .htaccess

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]


Because the payment session URL was submitted with a trailing slash and the path was not a folder, apache would respond with 301 instead of 200, which would determine Shopify to throw the error.

 

This was our particular issue, but basically everything that goes wrong when Shopify makes the request to the payment session URL, it will result in the same message. What will make your life easier is to check the server access logs, server error logs or even better write your custom logs in the app. This request is not visible in browser.

Happy coding with Shopify!

Prashu1999
Shopify Partner
5 0 1

Hi 
I am also facing the same situation I have setup exactly what you have mentioned
In my case the only difference is I am unable to setup the SSL part

can you please explain how did you configured the Apache Server to force clients to authenticate using certificates for the Payment URLs set in the Payment App extension
In my case It is getting redirected to my payment page based on the demo Request body which is mentioned on the doc and my app is not receiving any backend request from shopify.

Punarvasu
Shopify Partner
5 0 0

Hi
are you able to find a solution as m also facing same issue.