Closed Bug 1133963 Opened 9 years ago Closed 9 years ago

In- app purchase fails on desktop with error: PAY_REQUEST_ERROR_NO_VALID_REQUEST_FOUND

Categories

(Marketplace Graveyard :: Payments/Refunds, defect, P1)

defect

Tracking

(Not tracked)

VERIFIED FIXED
2015-03-03

People

(Reporter: krupa.mozbugs, Assigned: kumar)

References

()

Details

steps to reproduce:
1. Load https://marketplace.firefox.com/app/fxpayhosted?src=new
2. Buy the app
3. Launch the now purchased app
4. Try to make an in-app purchase


expected behavior:
in-app purchases are successful on desktop

actual behavior:

screenshot: https://www.dropbox.com/s/32elz0jls39a6c8/Screenshot%202015-02-17%2013.20.54.png?dl=0
in- app purchase fails on desktop with error: PAY_REQUEST_ERROR_NO_VALID_REQUEST_FOUND
Blocks: 969539
navigator.mozPay() is defined in webrt for some strange reason. Fun!
Assignee: nobody → kumar.mcmillan
I think mozPay should not be defined (bug 1134007) but since Firefox is forever, we'll have to work around it probably with UA sniffing or something.
looks like we're hitting a platform bug trying to make a popup for payments: bug 1135261
Depends on: 1135261
Priority: -- → P1
I'm going to try hacking up a workaround for this
fxpay side: https://github.com/mozilla/fxpay/pull/87
spa side: https://github.com/mozilla/spartacus/pull/208
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: 2015-02-24 → 2015-03-03
I have used the app from comment 0.
For dev and stage the purchases fail with the same error PAY_REQUEST_ERROR_NO_VALID_REQUEST_FOUND: http://screencast.com/t/aLqzRape
For production I managed to simulate a purchase (also using AndreiH in-app payment testing app I managed to complete a purchase, i have received the confirmation sms from the carrier). The problem is that the purchase seems to be blocking on the payment confirmation page (I repeat the actual payment appears to be completed as I have received a confirmation sms with the amount being charged from my sim, the app appear to crash at the confirmation page)
Please view this screencast: http://screencast.com/t/nsEwUZnipXgl
Also this screencast(this is using the app from comment 0) : http://screencast.com/t/oB8vYVZ8BFg
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I forgot to mention that you need to whitelist our stage (or dev) server to try this out. You can follow these steps:

- quit the fxpay hosted app if it's running
- uninstall the fxpay app by moving the app to the trash
- reinstall the app from stage (not prod): https://marketplace.allizom.org/app/fxpayhosted
- launch the app (to create a prefs directory) then quit the app
- Create a file called user.js inside the application support directory for the app (the prefs directory). On Mac OS X, it will look something like: ~/Library/Application\ Support/fxpayhosted-486cf02f9fd753c0f81d9a7f426c1d6b/Profiles/v93rfpe0.default/user.js but your path will vary. To know you're in the right directory, look for prefs.js (but you can't edit that file).
- Add the stage server to your user.js file:

pref("dom.payment.provider.2.name", "firefoxmarketstage");
pref("dom.payment.provider.2.description", "marketplace.allizom.org");
pref("dom.payment.provider.2.uri", "https://marketplace.allizom.org/mozpay/?req=");
pref("dom.payment.provider.2.type", "mozilla-stage/payments/pay/v1");
pref("dom.payment.provider.2.requestMethod", "GET");

- Launch the fxpay app

Now you should be able to make payments against stage. In the FxPay app, be sure to select marketplace.allizom.org from the API server dropdown.

To get debugging logs, quit the application and re-launch it from the shell with this command:

/Applications/FxPayHosted.app/Contents/MacOS/webapprt -debug 6000

This will allow you to use WebIDE to connect to it as a Remote Runtime: https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_Desktop
- Add
Thanks for the response Kumar.
I have made all the above changes and I was able to complete a payment flow on stage.
Screencast: http://screencast.com/t/lrSpnbF0
Marking fixed based on comment 8.
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
I have re verified the issue in production after the push and I was able to complete the flow without any problems. 
Closing bug.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.