122 lines
3.6 KiB
C#
122 lines
3.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace BF
|
|
{
|
|
public class BFRuPaySDKManager : MonoBehaviour
|
|
{
|
|
public Action<int, string> luaPayCallback;
|
|
public Action<int, string> luaQueryProductCallback;
|
|
public Action<int, string> luaQueryUncompleteOrderCallback;
|
|
public Action<int> luaConsumeCallback;
|
|
public bool StoreValid { get; private set; }
|
|
private string ProductJson;
|
|
|
|
void Start()
|
|
{
|
|
// 俄罗斯渠道专用支付
|
|
if (!BFPlatform.IsSupportRuPay())
|
|
{
|
|
return;
|
|
}
|
|
|
|
// 临时屏蔽俄罗斯支付
|
|
if (BFPlatform.Identifier == BFPlatform.ANDROID_GP_PACKAGE_NAME_RU)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Init();
|
|
CheckStoreValid();
|
|
}
|
|
|
|
// 初始化
|
|
public void Init()
|
|
{
|
|
BFMain.Instance.SDKMgr.BFNativeSDKMgr.RuInit();
|
|
}
|
|
|
|
// 检测支付可用性
|
|
public void CheckStoreValid()
|
|
{
|
|
BFMain.Instance.SDKMgr.BFNativeSDKMgr.RuCheckValid();
|
|
}
|
|
|
|
public void CheckStoreValidComplete(bool success)
|
|
{
|
|
StoreValid = success;
|
|
}
|
|
|
|
// 请求全部商品信息
|
|
public void QueryProductInfo(string productJson, Action<int, string> callback)
|
|
{
|
|
luaQueryProductCallback = callback;
|
|
BFMain.Instance.SDKMgr.BFNativeSDKMgr.RuGetProducts(productJson, callback);
|
|
}
|
|
|
|
public void QueryProductComplete(bool succ, string result)
|
|
{
|
|
int code = succ?0:1;
|
|
if(luaQueryProductCallback != null)
|
|
{
|
|
Action<int, string> tempLuaQueryProductCallback = luaQueryProductCallback;
|
|
luaQueryProductCallback = null;
|
|
tempLuaQueryProductCallback(code, result);
|
|
ProductJson = string.Empty;
|
|
}
|
|
}
|
|
|
|
// 支付
|
|
public void Pay(string payType, string productId, string customMsg, Action<int, string> callback)
|
|
{
|
|
luaPayCallback = callback;
|
|
BFMain.Instance.SDKMgr.BFNativeSDKMgr.RuPurchase(productId, customMsg);
|
|
}
|
|
|
|
public void PayComplete(int code, string result)
|
|
{
|
|
// 优先当前支付的回调
|
|
if(luaPayCallback != null)
|
|
{
|
|
luaPayCallback(code, result);
|
|
luaPayCallback = null;
|
|
}
|
|
}
|
|
|
|
// 消耗
|
|
public void ConsumePurchase(string token, Action<int> callback)
|
|
{
|
|
luaConsumeCallback = callback;
|
|
BFMain.Instance.SDKMgr.BFNativeSDKMgr.RuConsume(token);
|
|
}
|
|
|
|
public void ConsumeComplete(int code)
|
|
{
|
|
if (luaConsumeCallback != null)
|
|
{
|
|
luaConsumeCallback(code);
|
|
luaConsumeCallback = null;
|
|
}
|
|
}
|
|
|
|
// 查询未完成订单
|
|
public void QueryUncompleteOrder(Action<int, string> callback)
|
|
{
|
|
luaQueryUncompleteOrderCallback = callback;
|
|
BFMain.Instance.SDKMgr.BFNativeSDKMgr.RuGetPurchase();
|
|
}
|
|
|
|
public void QueryUncompleteOrderFinish(string result)
|
|
{
|
|
if(luaQueryUncompleteOrderCallback != null)
|
|
{
|
|
Action<int, string> tempLuaQueryUncompleteOrderCallback = luaQueryUncompleteOrderCallback;
|
|
luaQueryUncompleteOrderCallback = null;
|
|
tempLuaQueryUncompleteOrderCallback(0, result);
|
|
}
|
|
}
|
|
}
|
|
}
|