我正在寻找将付款金额转移到BrainTree的正确方法。
这是一个链接
<a href="/charge?amount=10">charge me $10</a>
这是一些可以处理此链接的php
Braintree_Transaction::sale(array(
'amount' => Input::get('amount'),
'paymentMethodToken' => Auth::user()->creditcard->token
));
这显然是不安全的,因为客户可以更改金额。
所以你可以在数据库中有一个项目,并附加一个数量
<a href="/charge?item=1">Charge for Item 1</a>
......和处理它的类似代码
$item = Input::get('item');
$price = Product::find($item)->price;
Braintree_Transaction::sale(array(
'amount' => $price,
'paymentMethodToken' => Auth::user()->creditcard->token
));
关于这一点的是,如果客户端意外放置怎么办?item = 45。我猜这不应该被客户操纵。
这样做的正确方法是什么?