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、微软支付需要单独接入


相关文章推荐

接入ebay支付的SDK

  • 2017年07月25日 17:55
  • 2.3MB
  • 下载

Unity Android SDK支付平台接入流程

Android接掌趣SDK基本教程   目录 一 下载掌趣SDK. 1 二 Android接掌趣SDK流程... 1 2.1 利用Eclipse编译工具进行打包... 2 2.1.1...

接入第三方SDK-微信支付

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

android 支付宝sdk接入详解

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

工作总结—支付宝SDK接入之如何填坑

支付宝SDK相对于微信支付SDK来说简单很多,但是有个坑(SDK是.framework包,本人是制作游戏SDK的,不能单纯跟以前IOS应用接入一样,只将SDK导进进制作的游戏SDK里,在游戏项目中还得...
  • jaccty
  • jaccty
  • 2016年03月22日 14:58
  • 543

cocos2dx项目接入支付宝SDK

一、在支付宝开放平台下载支付宝SDK(https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.WWgVz8&treeId=5...
  • dfsigue
  • dfsigue
  • 2016年05月19日 16:31
  • 2104

cocos2dx工程中接入支付宝sdk

[摘要]本文是对cocos2dx工程中接入支付宝sdk的讲解,对学习Android编程技术有所帮助,与大家分享。 1. 首先去支付宝官网下载开发者文档 2. 然后按着开发者文档将支...

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

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

iOS 支付宝SDK接入详解

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

Unity 、Eclipse Android平台、接入支付宝SDK

Unity Eclispse Android 和支付宝支付四者的结合
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows AdEasyGo支付SDK接入
举报原因:
原因补充:

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