Android SDK支付

简介

本文介绍了如何对接Miracle Games SDK的支付接口,打开支付窗口。

用户支付

调用该接口后,会打开平台的支付界面。当用户支付完成或取消支付时,会发送响应的支付回调消息。

// this 为Android Activity对象	
// goodsKey: 商品Key, 创建商品时由MiracleGames生成 
// comment: 自定义参数,传递前进行urlencode,完成支付后会把该参数原样返回给开发者。
// callbackId:可为空, 服务器回调地址Id, 在设置回调地址时由MiracleGames生成, 开发者可以设置多个回调地址, 该笔交易将会给指定Id的回调地址发起支付成功的回调
// 如果设置了回调地址, 但未指定id, 即CallbackId=null, 将使用默认回调地址;如果指定了Id, 但该Id不存在, 将不能支付。如果不使用服务器回调, 请忽略该属性。
MGSdkPlatform.getInstance().pay(this, goodsKey, comment, callbackId,
	new MGPayListener() { 
		@Override
		public void onSuccess(String msg) {
			//无需处理
		}
		@Override
		public void onFailed(String msg) {
			//无需处理
		}
	}
);

支付成功后服务器端回调开发者服务器

支付成功后接收客户端回调事件

如果游戏有服务器可接收回调,则无需接入此功能,直接接入服务器端的支付回调。

注册客户端支付回调事件,推荐放入onCreate方法中

protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	MGSdkPlatform.getInstance().Assets(new MGAssetsListener() {
		@Override
		public void onSuccess(ArrayList assetsInfoList) {

			Log.d(TAG, "资产变更;" + "assetsInfoList===" + assetsInfoList.size());
			desc+="资产变更,assetsInfoList.size():=" + assetsInfoList.size()+"\n";
			for (AssetsInfo assetInfo : assetsInfoList) {
				//开发者在此处,进行道具下放

				MGSdkPlatform.getInstance().ReportFulfillmentAsync(assetInfo);//报告核销
			}
			desc+="资产已核销";
		}
	});

}