Reputation: 71
I have some apps with the actual/old payment running. works fine. Company registered etc. all fine and working for a year or so.
Now I am migrating to the new, open Graph object driven, system. Totally not working.
the creation and registration of objects works fine. This is the object I have registered. The debugger gives no error:
<head prefix=
"og: http://ogp.me/ns#
fb: http://ogp.me/ns/fb#
product: http://ogp.me/ns/product#">
<meta property="og:type" content="og:product" />
<meta property="og:title" content="Pinky" />
<meta property="og:plural_title" content="Pinkies" />
<meta property="og:image" content="https://MY_URL/picture.png" />
<meta property="og:description" content="Pinky " />
<meta property="og:url" content="https://MY_URL/object.html" />
<meta property="product:price:amount" content="0.40"/>
<meta property="product:price:currency" content="USD"/>
<meta property="product:price:amount" content="0.32"/>
<meta property="product:price:currency" content="GBP"/>
<meta property="product:price:amount" content="0.24"/>
<meta property="product:price:currency" content="EUR"/>
</head>
after registration with the debugger tool i invoke the pay-dialog like that:
var obj = { method: 'pay',
action: 'purchaseitem',
product: "https://MY_URL/object.html" };
FB.ui(obj, function(data) { });
But I always get an error as result. The error_code is not (yet?) described on Facebook. error_code: 1353028 error_message: "Sorry, there was a problem and we can’t complete your request. Please try again later."
Upvotes: 7
Views: 1101
Reputation: 71
it seems to be a not initialized value:
the quantity parameter is supposed to be 1 by default; but as admin it is possible to get a zero. Allways calling with quantity:1 works for me.
Wrong:
obj = {
method: 'pay',
action: 'purchaseitem',
product: "object.html"
};
Right:
obj = {
method: 'pay',
action: 'purchaseitem',
product: "object.html",
quantity: 1
};
Upvotes: 0
Reputation: 3520
If found both Dave's and Michael's answer are corect and you should combine the two to work around the problem and still be able to test your payments (without making an actual payment): Test the payments with a user that is not the creator of the app and add it's user id to the "Payments Testers". This way everything should work as expected
Upvotes: 3
Reputation: 6905
I am owner and payment tester for one app and I managed to see the payment dialog. I got the error 1353028 when I changed the price of my currency so that it became too low to be compatible with “In-app currency purchase”; however, the doc says you can work around that with “In-app currency packages”.
Upvotes: 1
Reputation: 163
More specifically, the FB.ui call fails if the logged in user is a Payment Tester. Remove yourself from the list of Payment Testers and it should now work. You can remain listed as an admin and/or developer.
Of course, you now can't test payments without making a real payment!
Upvotes: 2
Reputation: 170
you are using static pricing, so there is no need for setting pay callback url. see the flow diagram in this url (step 2):- https://developers.facebook.com/docs/howtos/payments/fulfillment/ In static pricing, the datas are taken from cache. So there won't be a call to backend.
Upvotes: 0
Reputation: 980
This error occurs if you are the app owner/developer, I tried it with a different account and it worked
Upvotes: 2