gpt4 book ai didi

javascript - 从 swift 4 调用 paypal javascript 函数

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:20 24 4
gpt4 key购买 nike

这是用于 paypal 支付的 java 脚本如何从 swift 4 调用它以及如何将金额传递给这个脚本,现在支付的金额是硬编码的

paypal.Button.render({

env: 'sandbox', // sandbox | production

// PayPal Client IDs - replace with your own
// Create a PayPal app: https://developer.paypal.com/developer/applications/create
client: {
sandbox: 'AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R',
production: '<insert production client id>'
},

// Show the buyer a 'Pay Now' button in the checkout flow
commit: true,


// payment() is called when the button is clicked
payment: function(data, actions) {

// Make a call to the REST api to create the payment
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '0.01', currency: 'USD' }
}
]
}
});
},




// onAuthorize() is called when the buyer approves the payment
onAuthorize: function(data, actions) {

// Make a call to the REST api to execute the payment
return actions.payment.execute().then(function() {
window.alert('Payment Complete!');
});
}

}, '#paypal-button-container');

我试过的代码是:

 @IBAction func buttonActionPay(_ sender: UIButton) {

let htmlPath = Bundle.main.path(forResource: "sampleHTMLCode", ofType: "html")

let url = URL(fileURLWithPath: htmlPath!)
let request = URLRequest(url: url)
webView.load(request)

}

上面的javascript代码来自paypal开发者网站,是否需要修改代码

最佳答案

只需像这样更改 javascript。

<!DOCTYPE html>

<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
</head>

<body>
<div id="paypal-button-container"></div>


<script>

// y = 12;

function bar(qq){

var y = qq




paypal.Button.render({


env: 'sandbox', // sandbox | production

// PayPal Client IDs - replace with your own
// Create a PayPal app: https://developer.paypal.com/developer/applications/create
client: {
sandbox: 'AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R',
production: '<insert production client id>'
},

// Show the buyer a 'Pay Now' button in the checkout flow
commit: true,


// payment() is called when the button is clicked
payment: function(data, actions) {

// Make a call to the REST api to create the payment
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: y, currency: 'USD' }
}
]
}
});
},


// onAuthorize() is called when the buyer approves the payment
onAuthorize: function(data, actions) {

// Make a call to the REST api to execute the payment
return actions.payment.execute().then(function() {
window.alert('Payment Complete!');
});
}

}, '#paypal-button-container');
}


</script>
</body>

Swift 代码是:

import UIKit
import WebKit
import JavaScriptCore


class ViewController:
UIViewController,WKUIDelegate,WKNavigationDelegate {
var cont = String()

var jsContext: JSContext!


var webView: WKWebView
required init(coder aDecoder: NSCoder) {
self.webView = WKWebView(frame: CGRect.zero)
super.init(coder: aDecoder)!
}
override func loadView() {
super.loadView()

let userContentController = WKUserContentController()

let source = "bar('12');"
let userScript = WKUserScript(source: source, injectionTime:
WKUserScriptInjectionTime.atDocumentEnd, forMainFrameOnly: true)
userContentController.addUserScript(userScript)

let configuration = WKWebViewConfiguration()
configuration.userContentController = userContentController
self.webView = WKWebView(frame: self.view.frame, configuration:
configuration)
}

override func viewDidLoad() {
super.viewDidLoad()
///


view.addSubview(webView)

webView.translatesAutoresizingMaskIntoConstraints = false
let height = NSLayoutConstraint(item: webView, attribute: .height,
relatedBy: .equal, toItem: view, attribute: .height, multiplier: 1,
constant: 0)
let width = NSLayoutConstraint(item: webView, attribute: .width,
relatedBy: .equal, toItem: view, attribute: .width, multiplier: 1,
constant: 0)
view.addConstraints([height, width])

let path = Bundle.main.path(forResource: "sampleHTMLCode", ofType:
"html")!
let url = URL(fileURLWithPath: path)

webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true


///
webView.navigationDelegate = self

}



@IBAction func buttonActionPay(_ sender: UIButton) {

let htmlPath = Bundle.main.path(forResource: "sampleHTMLCode",
ofType: "html")

let url = URL(fileURLWithPath: htmlPath!)
let request = URLRequest(url: url)
webView.load(request)

}



}

关于javascript - 从 swift 4 调用 paypal javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com