我正在使用Facebook Canvas应用程序,具有应用内购买功能。这是我到目前为止的地方:
我已经设置了我的实时更新回调页面,当事务发生变化时,会根据需要调用它。
调用RTU回调后,我成功获取了PaymentID,Time和Changed_Fields。
我可以在Canvas应用程序中成功处理测试事务,并在Canvas应用程序中获得预期的javascript回调,并附上付款详细信息。
到目前为止,一切都很顺利,但是...我遇到的问题是处理延迟付款完成,争议等。使用用户进行购买但在关闭最终付款对话框之前关闭浏览器的示例方案:收费,但应用程序内的JavaScript回调不会被调用。所以在这种情况下,所有存在的都是对用户的收费,以及我保存到我的服务器数据库的RTU回调条目,包含PaymentID,time和Changed_Fields(除了“actions”之外什么也没说)。
第一次困惑:
通过阅读文档和观看实施视频,我应该能够从我的服务器后端调用图形支付API - 以获取此RTU呼叫时的付款详细信息。因为这个页面(这是C#asp.net)不是我的APP,我不能为我的生活弄清楚我是如何得到一个app令牌来进行任何调用。在我的所有搜索中,获取令牌的每个示例都涉及用户登录/授权页面以获取访问令牌。由于此页面是后端服务器处理实体,因此这是不切实际的。如果有人能够阐明我应该如何实现这一目标,那就太好了。我确实安装了.net的facebook sdk,但还没有想出这个步骤。
第二次困惑:
我尝试了不同的路线,认为确定创建一个唯一的request_id,创建一个记录,其中包含即将发生的购买的基本信息,然后在调用RTU时根据需要更新该记录。这样我的应用程序可以简单地观察购买已经更新为完成等等。这里的问题是,当购买开始时还没有支付ID,相反,RTU呼叫没有带来任何数据除了PaymentID,时间和“行动”之外的其他工作。我找不到任何可以将两个事件联系起来以便能够处理履行的事情。
第三种困惑:
在与RTU呼叫一起发送的Json数据中,Changed_Fields显示为“操作”付款是否已完成或失败。所以要么我在这个服务器回调中完全遗漏了一些东西,要么就是我的第一个混乱,我怎么能得到一个app令牌来调用图API来获取详细信息呢?
这整件事让我感觉非常愚蠢,因为在流程的某个地方必须有一些我遗漏的东西。我差不多偏离了偏头痛药,所以我希望有人能告诉我至少我不正确的步骤,也许还有一些方向可以找到实现这一目标的信息。
注意:我发现这些问题并非“特定于代码”,但Facebook表示会在此处发布问题。如果有更好的地方,请原谅我。
答案 0 :(得分:1)
https://developers.facebook.com/docs/facebook-login/access-tokens
我之前曾多次阅读过这个页面,但错过了获取app令牌的部分,这很容易用id和秘密完成。
现在,我可以继续解析付款明细结果并处理它们。