我已经在我的 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