Переменная post не определена в транзакции Braintree

Я быстро настраиваю обработку платежей для своего настольного приложения OSX. Поскольку для OSX нет SDK, я использую Web View через PHP SDK для Braintree. Я хочу передать некоторые POST-данные, чтобы цена продукта динамически поступала из моего приложения, но, похоже, он не распознается и не определяется в соответствии с ошибками PHP.
Я знаю, как отправить переменную POST в PHP-скрипт, и делал это много раз, но у меня есть ощущение, что что-то может быть не так с моим быстрым кодом. Моя ошибка PHP: «Обратите внимание: неопределенная переменная: цена»

PayPal.swift

import Cocoa
import WebKit

class PayPal: NSViewController {

@IBOutlet weak var paypalWebView: WebView?

override func viewWillAppear() {

self.view.window!.title = "Payment"}

override func viewDidLoad() {
super.viewDidLoad()

setupPP()

}

func setupPP(){

let request: NSURL = NSURL(string: "http://")!

let urlRequest: NSMutableURLRequest = NSMutableURLRequest(url: request as URL)

urlRequest.httpMethod = "POST"let postString = "price=45"urlRequest.httpBody = postString.data(using: String.Encoding.utf8);

let session = URLSession.shared
let task = session.dataTask(with: urlRequest as URLRequest) {
(data, response, error) -> Void in

if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {

print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")

}

let responseString = String(data: data!, encoding: .utf8)
print("responseString = \(responseString)")

}

task.resume()

let requesting = NSURLRequest(url: request as URL)

DispatchQueue.main.async(){
self.paypalWebView?.mainFrame.load(requesting as URLRequest)
}

}

}

Braintree PHP Script

if(isset($_POST["price"])){

$price = $_POST["price"];

}

<?php $tr_data = Braintree_TransparentRedirect::transactionData(
array('redirectUrl' => "http://" ,
'transaction' => array('amount' => $price, 'type' => 'sale'))) ?>

Также Paypal View, который по сути является веб-представлением, активируется, когда пользователь нажимает на кнопку через переход. Я не знаю, будет ли это как-то связано с этим или нет?

0

Решение

Я закончил тем, что заставил это работать!

Paypal.swift

import Cocoa
import WebKit

class PayPal: NSViewController {

@IBOutlet weak var paypalWebView: WebView?

override func viewWillAppear() {

self.view.window!.title = "Payment"}

override func viewDidLoad() {
super.viewDidLoad()

setupPP()

}func setupPP(){

let request: NSURL = NSURL(string: "http://")!

let urlRequest: NSMutableURLRequest = NSMutableURLRequest(url: request as URL)

urlRequest.httpMethod = "POST"let postString = "amount=29.95"urlRequest.httpBody = postString.data(using: String.Encoding.utf8);

let session = URLSession.shared
let task = session.dataTask(with: urlRequest as URLRequest) {
(data, response, error) -> Void in

if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {

print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")

}

let responseString = String(data: data!, encoding: .utf8)
print("responseString = \(responseString)")

}

paypalWebView?.mainFrame.load(urlRequest as URLRequest)

task.resume()}

}

PHP скрипт

<?php
if (isset ($_POST['amount'])) {

$amount = $_POST['amount'];
}

$tr_data = Braintree_TransparentRedirect::transactionData(
array('redirectUrl' => "http://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH),

'transaction' => array('amount' => $amount, 'type' => 'sale')))

?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]