官方文档: https://developers.facebook.com/docs/reference/dialogs/pay/

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
<title>Facebook Credits Demo</title>
</head>
<body>
<h2>Buy something...</h2>
<button onclick="buy()">Buy</button>
<div id="fb-ui-return-data"></div>
<div id="fb-root"></div> <script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});    // 这里初始化FB的接口,接入你的应用 // The dialog only opens if you've implemented the
// Credits Callback payments_get_items.
function buy() {
var obj = {
method: 'pay',          // FB.UI调用的弹窗类型。这里定义为支付弹窗
action: 'buy_item',       // 支付的动作。其他为 buy_item(买商品)buy_credits(买平台币)earn_credits(赚取平台币)earn_currency.
// You can pass any string, but your payments_get_items must
// be able to process and respond to this data.
order_info: {'item_id': '1a'},  // 买商品的话是商品的信息
dev_purchase_params: {'oscif': true}  // 这里不太清楚,好像是商品的价格是否用当地的货币价显示
}; FB.ui(obj, js_callback);    // FB的UI调用,obj为参数,js_callback为回调函数
} // This JavaScript callback handles FB.ui's return data and differs
// from the Credits Callbacks.
var js_callback = function(data) {
if (data['order_id']) {      // 当订单成功的时候,会返回商品在FB平台的商品id
// Facebook only returns an order_id if you've implemented
// the Credits Callback payments_status_update and settled
// the user's placed order. // Notify the user that the purchased item has been delivered
// without a complete reload of the game.
write_callback_data(
"<br><b>Transaction Completed!</b> </br></br>"
+ "Data returned from Facebook: </br>"
+ "Order ID: " + data['order_id'] + "</br>"
+ "Status: " + data['status']);
} else if (data['error_code']) {    // 出现某X非支付成功操作的时候,例如:点击支付窗口的取消按钮
// Appropriately alert the user.
write_callback_data(
"<br><b>Transaction Failed!</b> </br></br>"
+ "Error message returned from Facebook:</br>"
+ data['error_code'] + " - "
+ data['error_message']);
} else {            // 其他未知名错误
// Appropriately alert the user.
write_callback_data("<br><b>Transaction failed!</b>");
}
}; function write_callback_data(str) {
document.getElementById('fb-ui-return-data').innerHTML=str;
}
</script>
</body>
</html>

FB接口之 js调用支付窗口的更多相关文章

  1. js调用父窗口中的方法

    window.open调用父窗口中的方法 回调函数: function fun9(ex){ alert(ex); } 调用语句: window.open("RoomSelecter.htm? ...

  2. js 调用父窗口的方法

    opener.show(); 父窗体需要顶一个show() 方法 父面页代码: <!DOCTYPE HTML PUBLIC "-//IETF//DTD LEVEL1//EN" ...

  3. Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

    Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. ...

  4. 怎样调通微信支付及微信发货通知接口(Js API)

    怎样调通微信支付及微信发货通知接口(Js API) 微信支付提供了一个支付測试页面,微信支付正式使用须要測通支付.发货通知接口 .告警接口.维权接口.告警接口.维权接口非常easy.支付界面调通也相对 ...

  5. vs2010开发activex(MFC)控件/ie插件(三),js调用ocx控件的接口函数

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/50802280   js调用ocx控件的接口函数,先看demo效果:      简单测试过程 ...

  6. JS 在open打开的子窗口页面中调用父窗口页面的JS方法

    需求的情景如下: 1:做新增或修改等操作的时候打开一个新的浏览器窗口(使用window.open(参数等)方法) 2:在新增或修改等的页面上有返回按钮.重置按钮.保存按钮,对于返回就直接关闭此窗口(使 ...

  7. js调用百度地图接口

    原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...

  8. Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码

    (从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...

  9. iframe里面的页面调用父窗口,左右窗口js函数的方法

      iframe里面的页面调用父窗口,左右窗口js函数的方法 实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法. 比如有A窗口,A内有个IFRAME B,B里面的装载的是C页面 ...

随机推荐

  1. HTML 5缓存机制:Cache Manifest配置实例

    Cache Manifest是HTML 5的一种缓存机制,文章作者直接用博客当测试环境,虽然[color=#444444 !important]应用起来非常简单,但效果却出奇的好.缓存后的速度,简直是 ...

  2. 在信号处理函数中调用longjmp

    错误情况及原因分析 前两天看APUE的时候,有个程序要自己制作一个sleep程序,结果在这个程序中就出现了在信号处理函数中调用longjmp函数的情况,结果就出现了错误,具体错误是啥呢,请参见下面这段 ...

  3. oracle11g导入到10g

    oracle11g导入到10g http://www.doc88.com/p-0827386468478.html

  4. iPhone和iPad版本的分辨率a

  5. 解决Access连接 accdb 不可识别的数据库格式异常

    在Access07之前的数据库后缀名均为*.mdb 而连接字符串写成Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\*.mdb ;Pe ...

  6. 第三章 设计程序架构 之 设计实现Windows Azure 角色生命周期

    1. 概述 Windows Azure 是微软的云计算平台.用于 在微软数据中心 通过全局网络 生成.发布和管理应用程序. 本章内容包括 startup tasks 以及  实现 Start, Run ...

  7. 刀哥多线程之主队列gcd-06-main_queue

    主队列 特点 专门用来在主线程上调度任务的队列 不会开启线程 以先进先出的方式,在主线程空闲时才会调度队列中的任务在主线程执行 如果当前主线程正在有任务执行,那么无论主队列中当前被添加了什么任务,都不 ...

  8. TAT 前端突击队 第四关 题目 腐蚀的画

    腐蚀的画 1.一个漂亮的画作在经过几千年岁月的洗礼下,部分地方已经被腐蚀了,像一个孤独的老人,满脸爬满了皱纹.2.但在一个晚上,老王突然发现,这些腐蚀的部分中,隐藏着岁月留下的密秘.请你帮助老王寻找这 ...

  9. Weka链接Mysql数据库

    Weka简介 Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产 ...

  10. Should .close() be put in finally block or not?

    The following are 3 different ways to close a output writer. The first one puts close() method in tr ...