7

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."

BenMorel
  • 34,448
  • 50
  • 182
  • 322
Y Rick Off
  • 71
  • 3
  • Additional information: the pay callback is not called. the error pops up without call to my backend. – Y Rick Off Jun 09 '13 at 12:58
  • The payment callback will not be call for static pricing. The error you are getting is generic, so hard to say without a working repro as your code seems fine. Do you mind posting your object URL? – Alexcode Jun 26 '13 at 07:20

6 Answers6

3

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

Arno van Oordt
  • 2,912
  • 5
  • 33
  • 63
  • Somehow, FB seems to think that this bug is solved, but it is not :( https://developers.facebook.com/bugs/154918271369112?browse=external_tasks_search_results_5204ba60747a32a12297344 – Ricardo Amores Aug 09 '13 at 09:48
2

This error occurs if you are the app owner/developer, I tried it with a different account and it worked

Michael L Watson
  • 964
  • 13
  • 23
2

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!

Dave Walker
  • 153
  • 1
  • 8
1

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”.

merwok
  • 6,779
  • 1
  • 28
  • 42
0

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.

  • about the error_message, check whether your system can be accessed externally. check your firewall settings. grant external access if not given. – Abin Mathew Abraham Jun 21 '13 at 12:50
0

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 };

Y Rick Off
  • 71
  • 3