我在TAP付款时遇到问题



我已经在我的 swift 代码中集成了水龙头付款方式,但它不起作用,如果我错过了什么,请指导

这是我的代码

**AppDelegate didFinishLaunchingWithOptions **

let secretKey = SecretKey(sandbox: "my key", production: "my key")
GoSellSDK.secretKey = secretKey

单击按钮后,没有任何反应不显示点击付款视图控制器视图控制器

let session = Session()
session.dataSource = self
session.delegate = self

@IBAction func btnCheckout(_ sender: UIButton) {
SVProgressHUD.show()
session.start()
}

会话委托方法

//TAP Payment
internal func paymentSucceed(_ charge: Charge, on session: SessionProtocol) {
// payment succeed, saving the customer for reuse.
if (charge.receiptSettings?.identifier) != nil {
print(charge.transactionDetails.authorizationID!)
print(charge.receiptSettings!.identifier!)

}
}
internal func paymentFailed(with charge: Charge?, error: TapSDKError?, on session: SessionProtocol) {

print("Error :: ",error?.localizedDescription)
}
internal func authorizationSucceed(_ authorize: Authorize, on session: SessionProtocol) {
// authorization succeed, saving the customer for reuse.
if let customerID = authorize.customer.identifier {

}
}
func authorizationFailed(with authorize: Authorize?, error: TapSDKError?, on session: SessionProtocol)
{
SVProgressHUD.dismiss()
print("Error authorizationFailed:: ",error?.localizedDescription)
}

func sessionIsStarting(_ session: SessionProtocol)
{
print("sessionIsStarting")
}

func sessionHasStarted(_ session: SessionProtocol)
{
print("sessionHasStarted")
}
func sessionHasFailedToStart(_ session: SessionProtocol)
{
print("sessionHasFailedToStart")
SVProgressHUD.dismiss()
}
func sessionCancelled(_ session: SessionProtocol)
{
print("sessionCancelled")
SVProgressHUD.dismiss()
}

会话数据源

标记: - 会话数据源

extension PaymentMethodsVC: SessionDataSource {

var currency: Currency? {
return .with(isoCode: "KWD")
}

var amount: Decimal {
let amount = 5.99
return Decimal(amount)
}
var mode: TransactionMode {
return .purchase
}
var customer: Customer? {
//        if customerIDIsKnown {
//
//            return self.identifiedCustomer
//        }
//        else {
return self.newCustomer
//        }
}
/// Creating a customer with raw information.
var newCustomer: Customer? {
let emailAddress = try! EmailAddress(emailAddressString: "customer@mail.com")
let phoneNumber = try! PhoneNumber(isdNumber: "965", phoneNumber: "96512345")
return try? Customer(emailAddress:  emailAddress,
phoneNumber:   phoneNumber,
firstName:     "Steve",
middleName:    nil,
lastName:      "Jobs")
}

var postURL: URL? {
return URL(string: "https://tap.company/post")
}
var paymentDescription: String? {
return "Awesome payment description will be here.";
}
}

如果要在沙盒环境中进行测试,请在 **AppDelegate didFinishLaunchingWithOptions ** 中添加以下内容

let secretKey = SecretKey(sandbox: "my key", production: "my key")
GoSellSDK.secretKey = secretKey
GoSellSDK.mode = .sandbox

我遇到了同样的问题,我写了以下代码。

let secretKey = SecretKey(sandbox: "my key", production: "my key")
GoSellSDK.secretKey = secretKey
GoSellSDK.mode = .production

最新更新