我正在尝试PayPal-sandbox
尝试建立一家网上商店。按照目前的情况,买方只需选择一种产品,单击立即购买按钮,然后将其发送到PayPal完成交易。
之后,我有了一个函数,该函数利用返回URL将交易明细存储在我的订单表中。
一切正常,但我想知道是否还可以使用返回URL从PayPal表单中捕获买家名称和送货地址。
function process_transaction() {
if(isset($_GET['tx'])) { // ie. if transaction sale has been completed....
$amount = $_GET['amt']; // get amount details for our db
$currency = $_GET['cc'];
$transaction = $_GET['tx']; // get transaction details and we will bump into our db
$status = $_GET['st']; // get status, ie completed
$total = 0; // default product total variables set to zero in the first instance
$item_quantity = 0; // default quantity variable set to zero
$send_order = query(" INSERT INTO orders (order_amount, order_transaction, order_status, order_currency) VALUES('{$amount}','{$transaction}','{$status}','{$currency}')");
confirm($send_order);
$last_id = last_id();
foreach ($_SESSION as $name => $value) {
if($value > 0 ) {
if(substr($name, 0, 8) == "product_") {
$length = strlen($name) - 8;
$id = substr($name, 8 , $length);
$query = query(" SELECT * FROM products WHERE product_id = " . escape_string($id). " " );
confirm($query);
while ($row = fetch_array($query)) {
$product_price = $row['product_price'];
$sub = $row['product_price']*$value;
$item_quantity +=$value;
$insert_report = query(" INSERT INTO reports (product_id, order_id, product_price, product_quantity) VALUES('{$id}','{$last_id}','{$product_price}','{$value}')");
confirm($insert_report); //runs the confirm helper method
} // end of while loop
$total += $sub;
echo $item_quantity;
} // end of substring if statement
}
}
session_destroy();
} else {
redirect("index.php");
}
}
答案 0 :(得分:0)
您要添加到数据库中的信息来自URL字符串,如您所说,使用PHP $amount = $_GET['amt']
等。如果需要,则必须以相同的方式解析买方的名称和所有其他信息它包含在该字符串中,例如,形式为“&customer_name = firstname_lastname”。
我的猜测是,不会。以这种方式传输任何敏感数据将是完全不安全的。
您将不得不从其他来源获取客户信息。无论如何,您都应该得到它,因为您必须一次将其收集到您的网上商店。