bilisdk支付测试

main
yurui 2024-12-30 17:05:46 +08:00
parent 7a64681bb4
commit 8308bf4ebd
10 changed files with 97 additions and 17 deletions

Binary file not shown.

View File

@ -6,6 +6,8 @@ using UnityEngine;
using Gameplay.Net;
using cfg.ChargeCfg;
using System.Collections.Generic;
using PhxhSDK.AOT.Bilibili;
using Gameplay;
public class IAPManager : Singlenton<IAPManager>
{
@ -183,8 +185,20 @@ public class IAPManager : Singlenton<IAPManager>
}
else
BuyGoods(id, good, Actor.Instance.Base.AccountID, PurchaseSuccess, PurchaseFail);
#else
#elif SDK_BILIBILI
SdkHelper sdkHelper = SDKManager.Instance.GetSdkHelper(SDKManager.SdkName.Bilibili);
if (sdkHelper is BilibiliSdkHelper biliSdk)
{
if (!IapDataDic.TryGetValue(id, out DataCurrencyShopCfg cfg))
return;
if (TableManager.Instance.Tables.GlobalConfig.DiamondItemId == cfg.ItemID)
biliSdk.Pay(Actor.Instance.Base.Nickname, cfg.NowPriceRMB * 100, cfg.ItemCount,
CommonUtils.GetLocalizeText(cfg.NameLocal), "111", string.Empty);
}
else
BuyGoods(id, good, Actor.Instance.Base.AccountID, PurchaseSuccess, PurchaseFail);
#else
BuyGoods(id, good, Actor.Instance.Base.AccountID, PurchaseSuccess, PurchaseFail);
#endif
}
@ -192,21 +206,21 @@ public class IAPManager : Singlenton<IAPManager>
/// <summary>
/// 购买商品
/// </summary>
private void BuyGoods(int currencyID, string goodsName, string actorId, Action<string> onPurchaseSuccess,
Action onPurchaseFail)
private void BuyGoods(int currencyID, string goodsName, string actorId, Action<string> onPurchaseSuccess, Action onPurchaseFail)
{
if (!IapDataDic.TryGetValue(currencyID, out var goodData))
return;
switch (CurrentPayChannel)
{
case PayChannel.WeChat:
{
if (WXPayHandle.Instance.CheckWxInit())
WXPayHandle.Instance.BuyGoods(goodData.PhxhProductID, 1);
else
UITipsManager.ShowTips("未安装微信应用");
{
if (WXPayHandle.Instance.CheckWxInit())
WXPayHandle.Instance.BuyGoods(goodData.PhxhProductID, 1);
else
UITipsManager.ShowTips("未安装微信应用");
}
break;
}
case PayChannel.Alipay:
AliPayHandle.Instance.BuyGoods(goodsName);
break;

View File

@ -38,7 +38,6 @@ namespace Gameplay.Net
public void Logout()
{
}
/// <summary>

View File

@ -1126,12 +1126,14 @@ public class UI_StartGameInterfaceController : UIWindow
public class LoginController : Singlenton<LoginController>
{
bool autoLogin = true;//第一次尝试自动登录
public bool AutoLogin
{
get { return autoLogin; }
}
bool isLogin = false;
public bool IsLogin
{
get { return isLogin; }

@ -1 +1 @@
Subproject commit 916b723ff2ec1fd0563e8542b4b0cad504d018a4
Subproject commit 88fb4fd6861c7edca4ab7abf1b2aac659b471678

View File

@ -820,7 +820,7 @@ PlayerSettings:
webGLMemoryGeometricGrowthCap: 96
webGLPowerPreference: 2
scriptingDefineSymbols:
Android: ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;ODIN_VALIDATOR;ODIN_VALIDATOR_3_1;IAP;USE_HCLR;USE_YOO;GUIDE;SDK_TALKINGDATA;TD_GAME
Android: ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;ODIN_VALIDATOR;ODIN_VALIDATOR_3_1;IAP;USE_HCLR;USE_YOO;GUIDE;SDK_BILIBILI
Standalone: ODIN_VALIDATOR;ODIN_VALIDATOR_3_1;ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;TEST_TAPTAP;USE_YOO;USE_HCLR;GUIDE
Windows Store Apps: ODIN_VALIDATOR;ODIN_VALIDATOR_3_1;ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1
iPhone: ODIN_VALIDATOR;ODIN_VALIDATOR_3_1;ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;USE_YOO;USE_HCLR;IAP;GUIDE

View File

@ -6,19 +6,31 @@ namespace PhxhSDK
{
public partial class BilibiliSdkHelper : ILoginService
{
/// <summary>
/// 登录成功回调
/// </summary>
private Action loginSuccess;
public string AccessToken;
/// <summary>
/// B站唯一id
/// </summary>
public string UID;
public string AccessToken;
/// <summary>
/// B站用户名
/// </summary>
public string UserName;
public string GetProfileName()
{
return null;
}
public void LoginSuccess(string accessToken, string uid)
public void LoginSuccess(string uid, string username, string accessToken)
{
AccessToken = accessToken;
UID = uid;
UserName = username;
AccessToken = accessToken;
loginSuccess?.Invoke();
}

View File

@ -0,0 +1,40 @@
#if SDK_BILIBILI
using PhxhSDK.AOT.Bilibili;
using System;
using UnityEngine;
namespace PhxhSDK
{
public partial class BilibiliSdkHelper : IPayLimitService
{
public void CheckPayLimit(long amount, Action submit, Action limit)
{
}
public void SubmitPayResult(long amount)
{
}
/// <summary>
/// 支付
/// </summary>
/// <param name="role">角色名</param>
/// <param name="totalFee">真实价格(单位:分)</param>
/// <param name="gameMoney">游戏币数量</param>
/// <param name="goodName">商品名</param>
/// <param name="orderNum">订单号</param>
/// <param name="goodDescription">商品描述</param>
public void Pay(string role, int totalFee, int gameMoney, string goodName,string orderNum, string goodDescription)
{
if (long.TryParse(UID, out long uid))
{
GSCSdkInterface.androidPay(uid, UserName, role, totalFee, gameMoney, goodName, orderNum, goodDescription,
"Test", "https://dev_openapi.kedrgame.com/api/v1/biliGame/notify", "签名");
}
else
Debug.LogError($"UID错误:{UID}");
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 369e736ec84e3bf4ea7fb6b29f9c1bf7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -124,6 +124,8 @@ namespace PhxhSDK
}
#endregion
public string RoleName;
/// <summary>
/// bilibili回调监听组件
/// </summary>