Egret 双端接入爱贝支付遇到的问题
首先要为 egret 工程引入第三方库:
Egret 接第三方库:http://edn.egret.com/cn/index.php?g=&m=article&a=index&id=172;
写的好复杂,以加入 md5 库为例子:
-> 为 md5 的js文件 制作 ts 头文件;
-> 在 egret工程外建一个目录,比如叫 third;
-> 继续建目录 third/md5/bin/md5;
-> 将js源文件与ts头文件加入;
-> 在 egret 的 egretProperties.json 加入第三方库的描述;
-> 编译后在 modules 目录下就可以看到被包含的第三方库了;

生产环境下将第三方库放在工程目录同级的目录下,用相对路径引用,方便svn管理。
使用 egret 提供的 Http 功能,注意如何用 POST 发送带参数据:
var transIdRequest = new egret.HttpRequest();
transIdRequest.responseType = egret.HttpResponseType.TEXT;
transIdRequest.open("http://114.215.211.10:90/IAppPayTransId.aspx", egret.HttpMethod.POST);
transIdRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var cpPrivateInfo = regionId + "|" + serverId + "|" + sdkType + "|" + userId.toString() + "|" + waresId.toString();
var parameters = encodeURIComponent("userid=" + userId.toString() + "&waresid=" + waresId.toString() + "&cpPrivateInfo=" + cpPrivateInfo);
transIdRequest.send(parameters); transIdRequest.addEventListener(egret.Event.COMPLETE, this.OnTransIdComplete, this);
transIdRequest.addEventListener(egret.IOErrorEvent.IO_ERROR, this.OnGetIOError, this);
transIdRequest.addEventListener(egret.ProgressEvent.PROGRESS, this.OnGetProgress, this);
使用 APS.NET 站点:
针对egret客户端的 Post + Content-Type:application/x-www-form-urlencoded 模式,.NET 的结构是:
HttpRequest.Form
UrlEncode 与 UrlDecode:
可以在 http 传输过程中,将敏感字符编码起来,规避http常用的特殊字符,因此协议如何解码,则要看协议对何处进行了编码。
egret 报跨域访问的问题:
在 IIS 的响应标头加入 “Access-Control-Allow-Origin” “*”。
唤起爱贝支付页面的问题:

data 就是一个 json 串,但是示例的data transId 没有用双引号引起来。
另外只要填一个 redirecturl 给出支付完成后的自动跳转地址即可。
egret ts 代码:
private OnOrderDataComplete(event:egret.Event):void
{
var request = <egret.HttpRequest>event.currentTarget;
console.log("get orderdata : ",request.response);
this.OrderData = <AiBeiOrder>JSON.parse(request.response);
this.PayInstance.clickAibei(this.OrderData);
} class AiBeiOrder
{
private transId:string;
private retFunc:string;
private baseZIndex:number;
private redirecturl:string;
private cpurl:string;
private sign:string;
private signtype:string;
}
接下来做一个定时器定时向订单服务器请求订单结果即可。
Egret 双端接入爱贝支付遇到的问题的更多相关文章
- 智齿客服网页端接入文档V2.3
产品介绍 智齿客服网页端接入提供以下两种部署方式. 一.网页组件(推荐) 通过智齿客服网站咨询组件,企业的用户可快捷联系到企业客服获取帮助.智齿客服网页组件提供强大的用户行为采集能力和系统对接能力,支 ...
- PHP PC端接入支付宝和微信感悟
想着中秋节的时候把异步线程学习完,同事说有个PHP的支付要帮忙做一下,虽然中秋节计划是把C#的异步学完,不过还是喜欢挑战,好久没有像大学一样这么认真的熬夜解决问题了.由于在大学学过asp,它和php有 ...
- Android支付接入(三):电信爱游戏支付
原地址:http://blog.csdn.net/simdanfeg/article/details/9011977 注意事项: 1.电信要求必须先启动电信的闪屏界面 2.非网络游戏不允许有Inter ...
- SDK接入(2)之Android Google Play内支付(in-app Billing)接入
SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...
- iOS 微信支付
相关资料 SDK下载:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1 APP端开发步骤说明:https://pay.weixin ...
- IOS开发之—— iOS 支付 [支付宝、银联、微信]
支付宝iOSsdk官方下载sdk地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId ...
- iOS微信支付
SDK接入 服务器签名版本 官方已经是建议使用服务器签名来接入微信支付,实际上从安全上考虑,确实是每个客户端不应该知道RAS密钥,也不需要每个客户端都写一遍签名的算法. 服务端接入流程文档:https ...
- iOS-iOS 支付 [支付宝、银联、微信](转)
支付宝iOSsdk官方下载sdk地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId ...
- 小程序完整对接 pingpp支付
小程序完整对接 pingpp支付 有几个先要条件: 小程序需要企业认证且开通支付功能,个人认证是无法使用支付功能的(小程序微信支付官网) pingpp 本身接入的企业服务器(即商户服务器)并不强制要求 ...
随机推荐
- StopWatch
附件 http://download.csdn.net/detail/teststudio/6575241 主窗体UNIT unit MainForm; interface uses Windows, ...
- hdu 3720 Arranging Your Team 枚举
不可能解可以直接判断. 搭配产生的附加分可以用一个二维数组保存. 枚举1442,4种类型的人,因为总人数只有23个,所以可以搜索暴力枚举,然后保存最优解. 注意trick,答案可能为负数,所以初始化a ...
- IO之流程与buffer 图
http://blog.chinaunix.net/uid-29075379-id-3944364.html
- redundant 行记录格式
CREATE TABLE `mytest2` ( `t1` varchar() DEFAULT NULL, `t2` varchar() DEFAULT NULL, `t3` ) DEFAULT NU ...
- centos6.5 安装
导系统,进入rescue模式,在提示符下输入grub,进入grub提示符.(不管用什么方法,能进入grub就行)root(hd?,?) //前一个问号是你第几块硬盘,后一个是LINUX所在的第几个分区 ...
- 如何判断JDK是32位还是64位
第一种方法 在CMD窗口中使用java -version 命令进行查看 如果是64位的则会显示 Java HotSpot<TM>64-Bit 字样,32位的则没有类似信息. 注:这是Sun ...
- 关于 Android 进程保活,你所需要知道的一切
早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?.关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一.你 ...
- js 高阶函数 filter
filter用于过滤array中的一些值,通过带入的函数返回的ture 或false 保留或去除,返回一个新的array filter 使用演示:判断筛选出array中的素数: //判断素数自定义函数 ...
- 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片
项目中运用到pdf文件转换成image图片,开始时使用pdfbox开源库进行图片转换,但是转换出来的文件中含有部分乱码的情况.下面是pdfBox 的pdf转换图片的代码示例. try{ String ...
- Android开发---支付宝功能接口(支付功能)(转载!)
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...