fix:1、添加支付,使用sdk的支付方案

This commit is contained in:
2026-05-21 10:56:37 +08:00
parent d8b41f25ba
commit 8144a27fdb
34 changed files with 4555 additions and 3840 deletions
+70 -64
View File
@@ -97,15 +97,17 @@ public class MaxPayManager
// Debug.Log("barry ios pay");
// 调用官方支付逻辑
isIOSPay = true;
// var appleData = new ApplePayData
// {
// sku = _data.sku,
// amount = _data.amount,
// currency = _data.currency,
// shopName = _data.shopName,
// type = _data.type
// };
// PurchasingManager.Purchase(appleData);
#if UNITY_IOS
var appleData = new ApplePayData
{
sku = _data.sku,
amount = _data.amount,
currency = _data.currency,
shopName = _data.shopName,
type = _data.type
};
PurchasingManager.Purchase(appleData);
#endif
}
else
{
@@ -128,52 +130,47 @@ public class MaxPayManager
ApplePayClass paydata = data_;
SaveData.pay_time = Time.time;
if (data_.sku == PurchasingManager.GetPaySku(PayType.buy_one))
if (data_.sku == IAPPayManager.PRODUCT_SPACE_BONUS)
{
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.buy_one_click);
}
else if (data_.sku == PurchasingManager.GetPaySku(PayType.buy_one_off))
{
// TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.BuyOneOffClick);
}
else if (data_.sku != null && data_.sku == PurchasingManager.GetPaySku(PayType.remove_ad))
// else if (data_.sku == PurchasingManager.GetPaySku(PayType.buy_one_off))
// {
// // TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.BuyOneOffClick);
// }
else if (data_.sku != null && data_.sku == IAPPayManager.PRODUCT_REMOVE_ADS)
{
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.remove_ad_click);
}
else if (data_.sku == PurchasingManager.GetPaySku(PayType.pack_reward))
else if (data_.sku == IAPPayManager.PRODUCT_FIRST_GIFT)
{
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.lucky_gift_click);
}
else if (data_.shopName != null && data_.shopName.StartsWith("buy_gold"))
else if (data_.sku != null && PurchasingManager.ShopProductMap.TryGetValue(data_.sku, out var idx))
{
int startIndex = "buy_gold".Length;
string suffix = paydata.shopName[startIndex..]; // 截取 "gold" 后的所有字符
string eventClickName = $"gold_click_{suffix}";
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.gold_click_ + suffix);
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.gold_click_ + idx);
}
else if (data_.sku.StartsWith("secret_albnums"))
{
string suffix = data_.sku["secret_albnums".Length..];
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.secret_albums_click_ + suffix);
}
else if (data_.sku.StartsWith("vip_club"))
else if (data_.sku != null && PurchasingManager.VipProductMap.TryGetValue(data_.sku, out var vipIdx))
{
string suffix = data_.sku["vip_club".Length..];
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.vip_click_ + suffix);
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.vip_click_ + vipIdx);
}
else if (data_.sku == PurchasingManager.GetPaySku(PayType.battle_pass))
else if (data_.sku == IAPPayManager.PRODUCT_PASS_BONUS)
{
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.master_pass_click);
}
else if (data_.sku == PurchasingManager.GetPaySku(PayType.fail_pack))
{
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.fail_click);
}
else if (data_.sku == PurchasingManager.GetPaySku(PayType.three_days_gift))
{
TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.three_days_gift_click);
}
// else if (data_.sku == PurchasingManager.GetPaySku(PayType.fail_pack))
// {
// TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.fail_click);
// }
// else if (data_.sku == PurchasingManager.GetPaySku(PayType.three_days_gift))
// {
// TrackKit.SendEvent(ADEventTrack.MaxPayEvent, ADEventTrack.Property.three_days_gift_click);
// }
PayerData requestData = new PayerData()
{
@@ -348,7 +345,7 @@ public class MaxPayManager
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PayloadingUI_Close);
bool isOpen = false;
if (paydata.sku == PurchasingManager.GetPaySku(PayType.buy_one))
if (paydata.sku == IAPPayManager.PRODUCT_SPACE_BONUS)
{
isOpen = HandleSku(paydata.sku, UIConst.AddViewUI, ADEventTrack.Property.buy_one_success);
}
@@ -356,35 +353,33 @@ public class MaxPayManager
// {
// isOpen = HandleSku(paydata.sku, UIConst.AddViewUI, ADEventTrack.Property.BuyOneOffSuccess);
// }
else if (paydata.sku != null && paydata.sku == PurchasingManager.GetPaySku(PayType.remove_ad))
else if (paydata.sku != null && paydata.sku == IAPPayManager.PRODUCT_REMOVE_ADS)
{
isOpen = HandleSku(paydata.sku, UIConst.PackrewardUI, ADEventTrack.Property.remove_ad_receive);
}
else if (paydata.sku == PurchasingManager.GetPaySku(PayType.pack_reward))
else if (paydata.sku == IAPPayManager.PRODUCT_FIRST_GIFT)
{
isOpen = HandleSku(paydata.sku, UIConst.PackrewardUI, ADEventTrack.Property.lucky_gift_receive);
}
else if (paydata.shopName != null && paydata.shopName.StartsWith("buy_gold"))
else if (paydata.sku != null && PurchasingManager.ShopProductMap.TryGetValue(paydata.sku, out var idx))
{
int startIndex = "buy_gold".Length;
string suffix = paydata.shopName[startIndex..]; // 截取 "gold" 后的所有字符
string eventSuccessName = ADEventTrack.Property.shop_receive_ + suffix;
string eventSuccessName = ADEventTrack.Property.shop_receive_ + idx;
isOpen = HandleSku(paydata.sku, UIConst.BuygoldUI, eventSuccessName);
}
else if (paydata.sku == PurchasingManager.GetPaySku(PayType.battle_pass))
else if (paydata.sku == IAPPayManager.PRODUCT_PASS_BONUS)
{
isOpen = HandleSku(paydata.sku, UIConst.PassViewUI, ADEventTrack.Property.master_pass_receive);
}
else if (paydata.sku == PurchasingManager.GetPaySku(PayType.fail_pack))
{
isOpen = HandleSku(paydata.sku, UIConst.PackrewardUI, ADEventTrack.Property.fail_buy_success);
}
else if (paydata.sku == PurchasingManager.GetPaySku(PayType.three_days_gift))
{
isOpen = HandleSku(paydata.sku, UIConst.ThreeDaysGiftUI, ADEventTrack.Property.three_days_gift_buy_success);
}
// else if (paydata.sku == PurchasingManager.GetPaySku(PayType.fail_pack))
// {
// isOpen = HandleSku(paydata.sku, UIConst.PackrewardUI, ADEventTrack.Property.fail_buy_success);
// }
// else if (paydata.sku == PurchasingManager.GetPaySku(PayType.three_days_gift))
// {
// isOpen = HandleSku(paydata.sku, UIConst.ThreeDaysGiftUI, ADEventTrack.Property.three_days_gift_buy_success);
// }
else if (paydata.sku.StartsWith("secret_albnums"))
{
int startIndex = "secret_albnums".Length;
@@ -393,11 +388,9 @@ public class MaxPayManager
isOpen = HandleSku(paydata.sku, UIConst.SecretAlbumsNextUI, eventSuccessName);
}
else if (paydata.shopName != null && paydata.shopName.StartsWith("vip_club"))
else if (paydata.sku != null && PurchasingManager.VipProductMap.TryGetValue(paydata.sku, out var vipIdx))
{
int startIndex = "vip_club".Length;
string suffix = paydata.shopName[startIndex..]; // 截取 "vip_club" 后的所有字符
string eventSuccessName = ADEventTrack.Property.vip_success_ + suffix;
string eventSuccessName = ADEventTrack.Property.vip_success_ + vipIdx;
isOpen = HandleSku(paydata.sku, UIConst.VipClubViewUI, eventSuccessName);
}
else
@@ -408,16 +401,16 @@ public class MaxPayManager
}
string sku = "";
if (paydata.sku.Contains("shop") || paydata.sku.Contains("sub"))
{
sku = paydata.shopName;
}
else
{
sku = paydata.sku;
}
// if (paydata.sku.Contains("shop") || paydata.sku.Contains("sub"))
// {
// sku = paydata.shopName;
// }
// else
// {
sku = paydata.sku;
// }
GameDispatcher.Instance.Dispatch(GameMsg.apple_pay_success, sku);
GameDispatcher.Instance.Dispatch(GameMsg.IAP_PAY_SUCCESS, sku);
DOVirtual.DelayedCall(1, () =>
{
@@ -466,7 +459,7 @@ public class MaxPayManager
{
sku = paydata.sku;
}
GameDispatcher.Instance.Dispatch(GameMsg.apple_pay_success, paydata.sku);
GameDispatcher.Instance.Dispatch(GameMsg.IAP_PAY_SUCCESS, paydata.sku);
});
}
}
@@ -567,18 +560,27 @@ public class MaxPayManager
public class maxOrder
{
[JsonProperty("order_id")]
public string order_id;
}
public class ApplePayClass
{
[JsonProperty("innerOrderId")]
public string innerOrderId;
[JsonProperty("transactionId")]
public string transactionId;
[JsonProperty("amount")]
public int amount;
[JsonProperty("sku")]
public string sku;
[JsonProperty("currency")]
public string currency = "USD";
[JsonProperty("status")]
public int status;
[JsonProperty("shopName")]
public string shopName;
[JsonProperty("type")]
public string type;
}
@@ -594,9 +596,13 @@ public class ApplePayClass
public class PayerData
{
[JsonProperty("name")]
public string name;
[JsonProperty("tel")]
public string tel;
[JsonProperty("email")]
public string email;
[JsonProperty("amount")]
public int amount;
}