Windows AdEasyGo支付SDK接入

原创 2015年11月20日 17:59:20

AdEasyGo支付SDK是集成了多种支付SDK,最开始是没有C++/CX版的,那边的哥子再3个项目中抽时间移植过来的,虽然官网给了文档,但是有些是有问题的。

1、下载地址

http://www.adeasygo.com/download?sdk_type=2&id=10

下载好后解压放到自己工程需要的地方。

2、加入到工程

在VS2013中并没有引用这个项,只有原生的C#和VS2015才有。

选中自己的工程,右键->添加->引用,选择xxxxPaySDK.winmd(这个是Windows元数据,类似DLL)。

3、初始化SDK

设置Appkey和AppId

在使用所有的功能之前,你需要设置应用程序的Appkey和AppId。首先你需要在Adeasygo的管理后台添加应用来获取Appkey和AppId。

using namespace Adeasygo::PaySDKWP81;

在应用程序初始化模块中调用

SDKManager::SetKey("xxxx","yyyy");设置唯一标示符(xxxx为你的应用appkey,yyyy是AppId)

SDKManager::Init();

4、注册事件

HardwareButtons::BackPressed += ref new EventHandler<BackPressedEventArgs ^>(this, &MainPage::HardwareButtons_BackPressed);
SDKManager::PayDone += ref new EventHandler<PayDoneEventArgs ^>(this, &MainPage::PayDone);
SDKManager::ToMarketPurchase += ref new EventHandler <Adeasygo::PaySDKWP81::Model::MsPayEventArgs ^>(this, &MainPage::MsPurchas);
这里用到了BackPressed是手机的返回键,是因为在选择支付方式之前SDK是没有注册PayDone事件的,需要我们自己处理来关闭支付页面。在显示支付界面的时候需要标记,以免在没有支付界面的时候处理事件这里的事件,

5、获取产品列表和支付

SDKManager中有个GetGoods方法,返回值是一个IAsyncOperation的异步操作,应该用C++/CX的异步操作,而不是官网上的直接获取,正确的方法是

auto goodsOp = SDKManager::GetGoods();
	auto goodsTask = create_task(goodsOp);
	goodsTask.then([this](GoodsList^ goodslist)
	{
		for each(auto goods in goodslist->goods_list)
		{			
			if (goods->id::get() == product_id)//此处的product_id是需要支付的产品id
			{
				SDKManager::Pay(goods->id, "1", goods->price, "$");	
			}
		}
	});

6、支付后处理

在支付成功和按返回键都会出发PayDone事件,需要在PayDone事件中关闭窗口,并进行订单验证。

7、订单验证

<span style="font-size:18px;">auto PayResultOp = SDKManager::GetUnSyncTrade();
auto PayResultTask = create_task(PayResultOp);
PayResultTask.then([=](TradeResultList^ resultList)
{
	auto storeObj = StoreObject::getInstance();
	int PAYED_SUCCESS = 1;
	int PAYED_FAILED = 2;
	int PAYED_PARAM_ERROR = 3;
	int msg_code = resultList->code::get();
	if (msg_code == PAYED_SUCCESS){
	<span style="white-space: pre;">	</span>for each(auto result in resultList->traderesult)
		{
			String^ goods_id_rt = result->out_goods_id;
			String^ uid_rt = SDKManager::DeviceUniqueId;
			String^ trade_no_rt = result->trade_no;
		}
	}
	else if (msg_code == PAYED_FAILED) {			
	}
	else if (msg_code == PAYED_PARAM_ERROR){
	}
});</span>
这里需要把这三个数据发到服务,服务器进行订单验证,详细看官网

http://www.adeasygo.com/document/index?id=78&c=27

7、微软支付需要单独接入


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

不接入微信sdk,在APP中实现微信分享,支付

前段时间在很多地方接入了微信的sdk,发现过程比较繁琐,此外因为导入的sdk比较大会影响最终APP打包的体积,所以就有了不接入sdk也实现相同的功能的想法。 要实现这个目标我个人认为最困难的地方是不知...

接入第三方SDK-微信支付

很多公司都有需求接入第三方支付,如支付宝,银联,微信等等; 但是由于文档的一些老旧。所以,第一次接入时,开发人员可能就有点想日狗了 废话不多说了,我今天介绍的是其中的一种:微信支付;

iOS 支付宝SDK接入详解

一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down) https://doc.open.alipa...

打造统一第三方SDK接入框架(用户模块,支付模块,发享模块)(一)

做过软件开发的想必都或多或少的接过各种sdk。接一个sdk不难,但是要做到接了十个不同或相同功能的sdk,还要做到代码结构清晰,维护方便,就不是一件简单的事情。       博主在以前在游戏公司有幸参...

android 支付宝sdk接入详解

android 支付宝sdk接入详解 第一步 在接入支付宝sdk之前首先要进入支付宝开发者平台申请应用所需要的应用唯一标识(APPID)、应用私钥(APP_PRIVATE_KEY)、支付宝公钥(A...

cocos2dx项目接入支付宝SDK

一、在支付宝开放平台下载支付宝SDK(https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.WWgVz8&treeId=5...

Unity3d 接入 移动MM支付SDK(2.3) 全攻略

鉴于网上完全找不到这方面的资料不太完善,而群里的unity接入例程颇为麻烦, 特撰此文并提供例程,希望各位接入该sdk时能节省些时间:)

Unity同时接入ShareSdk和微派支付sdk(二)

说明一下,我是首先接入了微派支付的sdk,在微派AndroidManifest.xml的基础上加入的sharesdk。本人仅仅接入sharesdk和微派sdk,其他sdk可能不能这么做,慎重! 在任...

教你快速高效接入SDK——服务器端支付回调的处理方式

今天着重把之前渠道服务器端SDK的时候,遇到的一个蛋疼的问题给解决了。 按照之前我们搭建U8Server的思路,U8Server是可以完美支持多款游戏的。包括登录认证和支付回调。登录认证,没啥好说的。...

android微信支付最新sdk接入总结

关于上线:非硬性指标。1.申请appid 提交应用,等待审核。只有审核通过后,才能有开发资格。支付认证费:300元/年。每年需要认证一次。 2.下载sdk gradle做以下配置:depende...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)