Paypal付款方式的信用卡付款

时间:2019-10-13 07:22:32

标签: ios swift paypal

我已经集成了贝宝付款,但是当我在实时模式下输入信用卡详细信息时,它会返回错误-

 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)")
    }

}

0 个答案:

没有答案