Payments in our game stopped working, "object does not exist" - facebook

Our in-game transactions suddenly stopped working properly in one of our games. When a player tries to buy something, they are charged, but then an unknown error occurs and the player is not provided the items they tried to purchase.
Here is the screenshot: https://i.gyazo.com/e7beb162e9e94c9dd50008f1e0b6b78c.png
According to our investigation, the object ID coming to our payment callback cannot be found, even through the Graph API explorer.
Here's an example:
Our server receives the following data from payment callback:
{"object":"payments","entry":[{"id":"1005703272873733","time":1479471429,"changed_fields":["actions"]}]}
We then send a request:
https://graph.facebook.com/PAYMENT_ID?access_token=APP_ACCESS_TOKEN
and receive an error message. The same error occurs in Graph API Explorer
The app name is Butterfly Miracle
App ID is 1186246188099014
This is a critical issue that cripples the game.
EDIT: The problem is still unresolved. We keep getting failed payments from the players. This is clearly a problem with Facebook servers that handle payment information. We need an answer from Facebook staff.

There are not any hidden ways for payment validating.
Facebook works with two alternative ways of validation:
when you user clicks on "Buy" button - FB.ui({"method": "pay" ... should be fired and your callback will receive data about current payment
in same time the Backend will receive request with payment data from Facebook Payment Service.
That error lies in how your Facebook app and server are configured.
You should check this:
If you are using Dynamic Pricing - check URL in Canvas Payments chapter and be sure your backend is sending correct response.
Check what Facebook knows about your product URL here: https://developers.facebook.com/tools/debug/ Sometimes facebook cache OLD product response - you can try to force cache clean by clicking Scrape again button. BTW: resolve all warnings here.
Canvas Payments chapter in FB app settings page should be configured correctly - try to click Test Callback Url - response should be OK
Try to make test payments and analyze client and backend logs. First of all catch client (js) response from FB.ui({"method": "pay"... and check it. Then analyze access_logs of the Backend (I don't know what are you using: it can be php-fpm, apache, nodejs, etc) - be sure the Backend correctly receives Payment Request from Facebook Payment Service and correctly process it - response status codes should be 200.
Just review again FB app_id and FB secret you typed in the Backend configuration. They should be equal to FB app settings.
If nothing helps - try to debug step-by-step requests that you are receiving from Facebook on test payments.

Related

Payment Timeouts - Showing 504 Gateway Timeout

We have a cpouple of sites using website payments standard and are submitting the forms as a post to the https://www.paypal.com/cgi-bin/webscr address
some customers (not all) are experiencing a timeout when trying to get to the paypal payment page after the post.
The site sits and status bar says 'waiting for www.paypal.com'
The web Inspector on chrome shows a 504 Gateway Timeout error after 1 minute and then the user gets sent to a paypal page with a paypal debug-id down at the bottom
This is intermittent, sometimes there are no problems at all then sometimes a user cant get through, so we try at the same time and have no problem
has anyone else seen anything like this?
any ideas?
paypal support are 'looking into it' and said it couldb e a 'problem with our endpoint api' ... all we do is post to them and and then they send back a pdt/ipn when complete. and it works from different locations at the same time one person is down, someone accross thr country is fine, its like when there is a problem, the www.paypal.com address cannot be found by the browser trying to connect
You are not alone. The old PayPal webform integration seems to have this problem every now and then. I believe there is nothing you can do other than hope that your customers are not affected (much).
The only alternative is to use a different PayPal API to integrate it in your shop.

How to display transactions in ‘developer.paypal.com’

I wrote my PayPal payments app using REST API SDK for PHP from GitHub.
In ‘developer.paypal.com’ there is a button labeled "Create App", I gave an application name which was immediately approved, and from the created App I’m using in my code the “Client ID” and “Secret”.
The code seems to work correctly, and from ‘developer.paypal.com’ I can ‘Enter Sandbox site’ to view transactions of my ‘Sandbox test accounts’.
My problem is that in ‘developer.paypal.com’ the link ‘Transactions’ doesn't display transactions.
Sandbox => Transactions, direct me to (page title): Test REST API transactions
Live => Transactions, direct me to (page title): Live REST API transactions and responses
In both cases above, instead of getting transactions, I get a page with a link to “Create your first PayPal app and receive API credentials.”
How to display and get detail transactions on ‘developer.paypal.com’?
Probably a good idea to try logging out and logging back in. Sometimes, the cache might be causing this to happen. Let me know if that resolves the issue.

response to payments callback url after purchase using local currency (local currency breaking changes)

Do we get response to payments callback url after successfully purchasing using local currency automatically??
Is there any other way other than subscribing for real time updated in the above mentioned case to get response for successful purchase?
I was just researching the same thing.
The FB.ui callback will now have confirmation of purchase. You could use that, however since it executes on client side, it can be tempered with and is not reliable.
FB will still make a call to your specified callback URL (under FB app settings), however you need to subscribe to Real Time Updates from FB app settings. To subscribe, your callback page must respond to the challenge sent my FB.
Edit
Information on how to subscribe to RTU is here
https://developers.facebook.com/docs/howtos/payments/fulfillment/#rtu
This is the FB documentation on what you need to configure in your callback.php page https://developers.facebook.com/docs/reference/api/realtime/
It's beyond me why they wouldn't provide a complete example. It is buried in their blogs somewhere, but this post gives you everything you need:
https://developers.facebook.com/blog/post/2012/01/31/how-to--subscribing-to-data-changes-using-the-real-time-updates-api/

Error code 1353013. User is not confirmed or is a gray account

We are using the facebook payments subscription api.
We log all errors received by client side FB calls. Recently we have started to see the following errors in our client callbacks:
Error code: 1353013.
Error message: "user is not confirmed or is a gray account"
This does not affect all accounts, we have not been able to reproduce this even with our test users. When looking at /me of the affected users it sais verified: true, however we cannot view the profile of the user.
The following FB call is the one we use:
FB.ui({
method: 'pay',
action: 'create_subscription',
product: 'http://example.com/our/product'
},...);
Anyone knows what this error message means? We cannot find any documentation on this error code.
Update:
We have found out this relates to facebook business account. I just tried creating one on https://www.facebook.com/business. The error message you get from facebook first is the following:
"You must confirm your account before making purchases on Facebook."
However the business account has a verified cell phone number and can certainly purchase ads through our connected card.
How would one go to report this kind of issues to facebook, Seems like they refer to stackoverflow.com for this kind of reporting?

Integrating Facebook Credits results in "The application you are using is not responding."

I've been trying to integrate Facebook Credit purchases into my app, but any call to the pay dialog results in the error message "The application you are using is not responding." To eliminate any application specific problems, I've downloaded the Credits API Example and am just trying to get that to work -- it results in the same error message.
I've been trying for a couple of days to pinpoint this error message, but with no luck. Here's what I know so far:
Clicking the "Pay with Facebook" button results in error code 1383008, but there's no error_message being displayed.
I'm running Apache 2.2 on Windows 7. As far as I can tell, Apache is configured to allow requests from any source.
The canvas page is configured to point at http://localhost:8080/facebook.../ while the callback page is configured to point at http://localhost:8080/facebook.../callback.php. However, I have verified that the callback page is not being accessed.
I'm not sure how to verify whether or not Facebook is receiving my data correctly or if it's passing anything back. Any help in this regard would also be appreciated!
Credits attempts to make a callback to a web accessible url (or IP). If Facebook's spider cannot fetch the information from the callback script, then it will continue to return errors, since Facebook expects you to send information like the cost, name, image, custom parameters in order to process the payment.
Have a look at the creating a callback section of the docs:
http://developers.facebook.com/docs/creditsapi/
Adding to Fancis' answer, what you can do is setup a hole in your firewall and connect it to a dynamic dns service such as http://dyn.com/. Then you will be able to test your credits code.