This commit is contained in:
zjx 2025-08-14 11:28:13 +08:00
parent 5bb65dc1f4
commit 4faf52dc09
3 changed files with 32 additions and 25 deletions

View File

@ -117,7 +117,7 @@ class VPStatAPI: NSObject {
} }
static func requestStatError(shortPlayId: String?, videoId: String?, eventKey: ErrorEventKey, errorMsg: String?, otherParamenters: [String : Any]? = nil) { static func requestStatError(orderCode: String?, shortPlayId: String?, videoId: String?, eventKey: ErrorEventKey, errorMsg: String?, otherParamenters: [String : Any]? = nil) {
var eventName = "" var eventName = ""
switch eventKey { switch eventKey {
@ -139,7 +139,8 @@ class VPStatAPI: NSObject {
"event_name" : eventName, "event_name" : eventName,
"event_key" : eventKey.rawValue, "event_key" : eventKey.rawValue,
"short_play_id" : shortPlayId ?? "0", "short_play_id" : shortPlayId ?? "0",
"short_play_video_id" : videoId ?? "0" "short_play_video_id" : videoId ?? "0",
"order_code": orderCode ?? ""
] ]
if let errorMsg = errorMsg { if let errorMsg = errorMsg {

View File

@ -135,15 +135,9 @@ class VPWalletAPI {
} }
/// ///
static func requestVerifyOrder(orderCode: String, payId: String, productId: String, transactionId: String, purchaseToken: String, completer: ((_ response: VPNetworkResponse<VPIAPVerifyModel>?) -> Void)?) { static func requestVerifyOrder(parameters: [String : Any], completer: ((_ response: VPNetworkResponse<VPIAPVerifyModel>?) -> Void)?) {
var param = VPNetworkParameters(path: "/applePaid") var param = VPNetworkParameters(path: "/applePaid")
param.parameters = [ param.parameters = parameters
"order_code" : orderCode,
"pay_setting_id" : payId,
"pkg_name" : kVPAPPBundleIdentifier,
"transaction_id" : transactionId,
"purchases_token" : purchaseToken
]
VPNetwork.request(parameters: param) { (response: VPNetworkResponse<VPIAPVerifyModel>) in VPNetwork.request(parameters: param) { (response: VPNetworkResponse<VPIAPVerifyModel>) in
completer?(response) completer?(response)

View File

@ -98,7 +98,6 @@ class VPIAPManager {
guard let waitRestoreModel = self.waitRestoreModel, guard let waitRestoreModel = self.waitRestoreModel,
let orderCode = waitRestoreModel.orderCode, let orderCode = waitRestoreModel.orderCode,
let payId = waitRestoreModel.payId, let payId = waitRestoreModel.payId,
let productId = waitRestoreModel.productId,
let receipt = waitRestoreModel.receipt, let receipt = waitRestoreModel.receipt,
let transactionId = waitRestoreModel.transactionId let transactionId = waitRestoreModel.transactionId
else { else {
@ -114,21 +113,17 @@ class VPIAPManager {
VPHUD.show() VPHUD.show()
} }
let verifyData = [
"order_code" : orderCode, let verifyData = self.getVerifyOrderParameters(orderCode: orderCode, payId: payId, transactionId: transactionId, purchaseToken: receipt)
"pay_setting_id" : payId,
"pkg_name" : kVPAPPBundleIdentifier,
"transaction_id": transactionId,
"purchases_token" : receipt
]
let statParamenters: [String : Any] = [ let statParamenters: [String : Any] = [
"type" : isLoding ? "manual" : "auto", "type" : isLoding ? "manual" : "auto",
"pay_data" : verifyData.toJsonString() ?? "" "pay_data" : verifyData.toJsonString() ?? ""
] ]
VPStatAPI.requestStatError(shortPlayId: nil, videoId: nil, eventKey: .payRestore, errorMsg: "restore", otherParamenters: statParamenters)
VPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, transactionId: transactionId, purchaseToken: receipt) { response in VPStatAPI.requestStatError(orderCode: orderCode, shortPlayId: nil, videoId: nil, eventKey: .payRestore, errorMsg: "restore", otherParamenters: statParamenters)
VPWalletAPI.requestVerifyOrder(parameters: verifyData) { response in
if isLoding { if isLoding {
VPHUD.dismiss() VPHUD.dismiss()
} }
@ -191,14 +186,16 @@ extension VPIAPManager: JXIAPManagerDelegate {
UserDefaults.vp_setObject(self.waitRestoreModel, forKey: kVPWaitRestoreIAPDefaultsKey) UserDefaults.vp_setObject(self.waitRestoreModel, forKey: kVPWaitRestoreIAPDefaultsKey)
VPWalletAPI.requestVerifyOrder(orderCode: orderCode, payId: payId, productId: productId, transactionId: transactionIdentifier, purchaseToken: receipt) { response in let verifyData = self.getVerifyOrderParameters(orderCode: orderCode, payId: payId, transactionId: transactionIdentifier, purchaseToken: receipt)
VPWalletAPI.requestVerifyOrder(parameters: verifyData) { response in
VPHUD.dismiss() VPHUD.dismiss()
self.orderCode = nil self.orderCode = nil
self.payId = nil self.payId = nil
guard let model = response?.data else { guard let model = response?.data else {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: response?.msg) VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: verifyData.toJsonString())
self.completionHandler?(false) self.completionHandler?(false)
return return
} }
@ -218,7 +215,7 @@ extension VPIAPManager: JXIAPManagerDelegate {
NotificationCenter.default.post(name: VPIAPManager.buyVipFinishNotification, object: nil) NotificationCenter.default.post(name: VPIAPManager.buyVipFinishNotification, object: nil)
} }
} else { } else {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: model.status) VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCallback, errorMsg: verifyData.toJsonString())
self.completionHandler?(false) self.completionHandler?(false)
} }
} }
@ -239,9 +236,9 @@ extension VPIAPManager: JXIAPManagerDelegate {
} }
if code == .cancelled { if code == .cancelled {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCancel, errorMsg: "user cancel") VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payCancel, errorMsg: "user cancel")
} else { } else {
VPStatAPI.requestStatError(shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payError, errorMsg: msg) VPStatAPI.requestStatError(orderCode: self.orderCode, shortPlayId: self.shortPlayId, videoId: self.videoId, eventKey: .payError, errorMsg: msg)
} }
self.completionHandler?(false) self.completionHandler?(false)
@ -256,6 +253,21 @@ extension VPIAPManager: JXIAPManagerDelegate {
} }
extension VPIAPManager {
func getVerifyOrderParameters(orderCode: String, payId: String, transactionId: String, purchaseToken: String) -> [String : Any] {
let parameters: [String : Any] = [
"order_code" : orderCode,
"pay_setting_id" : payId,
"pkg_name" : kVPAPPBundleIdentifier,
"transaction_id": transactionId,
"purchases_token" : purchaseToken
]
return parameters
}
}
extension VPIAPManager { extension VPIAPManager {
/// ///
@objc static let buyVipFinishNotification = NSNotification.Name(rawValue: "VPIAPManager.buyVipFinishNotification") @objc static let buyVipFinishNotification = NSNotification.Name(rawValue: "VPIAPManager.buyVipFinishNotification")