我已经集成了贝宝付款,但是当我在实时模式下输入信用卡详细信息时,它会返回错误-
UNAUTHORIZED_PAYMENT - The merchant does not accept payments of this type. (401)
我正在使用公司帐户,并且启用了权限。
var payPalConfig = PayPalConfiguration()
var environment:String = PayPalEnvironmentProduction {
willSet(newEnvironment) {
if (newEnvironment != environment) {
PayPalMobile.preconnect(withEnvironment: newEnvironment)
}
}
}
var acceptCreditCards: Bool = true {
didSet {
payPalConfig.acceptCreditCards = acceptCreditCards
}
}
func paypalPaymentGatewaySetup(){
payPalConfig.acceptCreditCards = acceptCreditCards;
payPalConfig.merchantName = "User"
payPalConfig.merchantPrivacyPolicyURL = NSURL(string: "https://www.paypal.com/webapps/mpp/ua/privacy-full") as URL?
payPalConfig.merchantUserAgreementURL = NSURL(string: "https://www.paypal.com/webapps/mpp/ua/useragreement-full") as URL?
payPalConfig.languageOrLocale = NSLocale.preferredLanguages[0]
payPalConfig.payPalShippingAddressOption = .payPal;
PayPalMobile.preconnect(withEnvironment: environment)
}
override func viewDidLoad() {
super.viewDidLoad()
paypalPaymentGatewaySetup()
}
现在,我在点击“付款”按钮时调用函数makeingRequestForPayment,并且我也具有导入付款状态委托。但是在贝宝委托方法中,我收到“商家不接受未经授权的401付款”。我也使用客户端ID为Production进行了应用程序委托设置
func makingRequestForPayment(){
// let globalPriceInStr = UserDefaults.standard.value(forKey: "PriceForPayment") as? String ?? ""
let globalPriceInStr = "1"
let totalPrice = NSDecimalNumber(string: globalPriceInStr)
let item1 = PayPalItem(name: "Membership", withQuantity: 1, withPrice: totalPrice, withCurrency: "USD", withSku: "SivaGanesh-0001")
print(item1)
let items = [item1]
print(items)
let subtotal = PayPalItem.totalPrice(forItems: items)
let shipping = NSDecimalNumber(string: "0.00")
let tax = NSDecimalNumber(string: "0.00")
let paymentDetails = PayPalPaymentDetails(subtotal: subtotal, withShipping: shipping, withTax: tax)
let total = subtotal.adding(shipping).adding(tax)
let payment = PayPalPayment(amount: total, currencyCode: "USD", shortDescription: "Advertisement Submission", intent: .sale)
payment.items = items
payment.paymentDetails = paymentDetails
if (payment.processable) {
let paymentViewController = PayPalPaymentViewController(payment: payment, configuration: payPalConfig, delegate: self)
present(paymentViewController!, animated: true, completion: nil)
}
else{
print("Payment not processable: \(payment)")
}
}