FB接口之 js调用支付窗口
官方文档: 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调用支付窗口的更多相关文章
- js调用父窗口中的方法
window.open调用父窗口中的方法 回调函数: function fun9(ex){ alert(ex); } 调用语句: window.open("RoomSelecter.htm? ...
- js 调用父窗口的方法
opener.show(); 父窗体需要顶一个show() 方法 父面页代码: <!DOCTYPE HTML PUBLIC "-//IETF//DTD LEVEL1//EN" ...
- Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)
Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. ...
- 怎样调通微信支付及微信发货通知接口(Js API)
怎样调通微信支付及微信发货通知接口(Js API) 微信支付提供了一个支付測试页面,微信支付正式使用须要測通支付.发货通知接口 .告警接口.维权接口.告警接口.维权接口非常easy.支付界面调通也相对 ...
- vs2010开发activex(MFC)控件/ie插件(三),js调用ocx控件的接口函数
原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/50802280 js调用ocx控件的接口函数,先看demo效果: 简单测试过程 ...
- JS 在open打开的子窗口页面中调用父窗口页面的JS方法
需求的情景如下: 1:做新增或修改等操作的时候打开一个新的浏览器窗口(使用window.open(参数等)方法) 2:在新增或修改等的页面上有返回按钮.重置按钮.保存按钮,对于返回就直接关闭此窗口(使 ...
- js调用百度地图接口
原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...
- Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码
(从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...
- iframe里面的页面调用父窗口,左右窗口js函数的方法
iframe里面的页面调用父窗口,左右窗口js函数的方法 实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法. 比如有A窗口,A内有个IFRAME B,B里面的装载的是C页面 ...
随机推荐
- Ubuntu16.04+hadoop2.7.3环境搭建
转载请注明源出处:http://www.cnblogs.com/lighten/p/6106891.html 最近开始学习大数据相关的知识,最著名的就是开源的hadoop平台了.这里记录一下目前最新版 ...
- 无法运行maven项目
tomcat Server Location 选择 User Tomcat installation 设置CATALINA_HOME环境变量(tomcat start.bat启动不了)1.CATALI ...
- 《第一行代码--Android》阅读笔记之数据持久化
1.升级数据库 为了避免手工清空数据(或卸载重装APP),重写SQLiteOpenHelper里面的onUpgrade()方法 引用自http://blog.csdn.net/longvslove ...
- Java垃圾回收基础
- 【转载】学习C#的28条建议
1. 看得懂的书,请仔细看:看不懂的书,请硬着头皮看:2. 别指望看第一遍书就能记住和掌握什么——请看第二遍.第三遍:3. 学习编程的秘诀是:编程,编程,再编程:4. 请把书上的程序例子亲手输入到电脑 ...
- 相比于汇编语言的准确性c语言延时精确度如何提升
只要合理的运用,C还是可以达到意想不到的效果.很多朋友抱怨C效率比汇编差了很多,其实如果对Keil C的编译原理有一个较深入的理解,是可以通过恰当的语法运用,让生成的C代码达到最优化.即使这看起来不大 ...
- spring替代方法
总结spring替代方法的使用 MyValueCalculator类中的computerValue方法将会被替代 public class MyValueCalculator { public Str ...
- MongoDB牛刀小试
MongoDB基本操作 1.MongoDB的启动 首先创建一个目录作为MongoDB的工作目录: 进入MongoDB的bin目录: 执行mongod命令,使用参数--dbpath指定MongoDB的工 ...
- Effiective C++ (一)
最近在看Effective C++ ,同时将总结一下里边的重要知识点: ########################## module 1 #################### ...
- <转载>编程珠玑-位排序(bitsort)
转载:http://www.cnblogs.com/shuaiwhu/archive/2011/05/29/2065039.html 维护版权 在<编程珠玑>一书上,有一题是将一堆不 ...