貝寶的新結賬讓我感到不安全,不能用戶在沉默方面觸發虛假付款?paypal快速結帳安全與沉默阿賈克斯調用
提供的代碼看起來象
paypal.Button.render({
env: 'sandbox',
client: {
sandbox: 'AapGZeCaaDK_q_KPeG19DHnD_kd18vr6BxNe4P6uuhfTKPjIedtNEI9plyDgmzfyI-xGhbxjpv0k-Ha9',
production: 'xxxxxxxxx' // u expose the key to client side? is this ok?
},
payment: function() {
var env = this.props.env;
var client = this.props.client;
return paypal.rest.payment.create(env, client, {
transactions: [{
amount: { total: ($scope.number_of_uses * 9) + '.00' , currency: 'USD' },
item_list: {
items: [{
"name": "example",
"quantity": $scope.number_of_uses,
"price": "9.00",
"currency": "USD"
}]
}
}],
redirect_urls: {
"return_url": $location.absUrl(),
"cancel_url": $location.absUrl()
}
});
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function() {
actions.payment.get().then(function(data){
// here I will save data detail to db to record sales
// $http something something
});
});
}
}, '#paypal-button');
在帶,我有一個令牌傳遞到後面,然後確認我的服務器端是令牌,如果一切OK繼續記錄銷售。但在PayPal中,似乎這是我需要執行的快速結帳的唯一事情。這是否安全?
用戶點擊按鈕後,他們將被重定向到PayPal,並要求提供信用卡詳細信息或登錄到他們的PayPal帳戶。 *鍵*僅向PayPal告知客戶正在付款的內容,而item_list則告知PayPal他們要支付的費用。這裏我沒有看到任何不安全感。所有安全的東西都發生在PayPal方面。 – Molda
@Molda意思是用戶不能觸發對我的數據庫的post請求?你有沒有看到我所關注的地方的評論? –
對不起,錯過了。這是基本的集成方法,它不指望你這樣做。它假定您通過不同渠道獲取交易數據(只需登錄到您的賬戶)您可以做的是將交易ID發送到您的服務器,並通過rest API從PayPal中提取數據。您還可以使用高級集成,通過您的服務器創建付款,並將用戶重定向到PayPal以確認付款。這可以確保在貝寶上創建付款之前訂單數據在您的服務器上。 – Molda