2017-10-10 47 views
-1

我有一個方形帳戶。我也有一個網頁。在此網頁上,我正在收集信用卡詳細信息(姓名,號碼,到期日期,cvv)。我想根據他們提供的信用卡詳細信息向用戶收取一筆金額。我認爲Square有一個允許這個的API。但是,我沒有看到它。它看起來像一切都必須在服務器上完成。接受使用JavaScript的信用卡付款

難道沒有一種方法可以在客戶端純粹從JavaScript安全地執行此操作嗎?通過互聯網將詳細信息發送到服務器似乎更危險,只是將該信息傳遞到Square。

在這個時候,我有以下幾點:

var creditCardNumber = '....'; 
var credidCardHolderName = 'Joe Smith'; 
var creditCardExpiration = '10/2020'; 
var creditCardCvv = '...'; 

var purchaseAmount = 50.50; 

有沒有辦法給purchaseAmount對經由廣場上的客戶端使用JavaScript的用戶的信用卡收費?如果是這樣,怎麼樣?

謝謝

+5

這不會允許最終用戶編輯頁面源代碼並將所需的任何值(例如'0,01 $')? – msanford

+1

這是非常不安全的。我甚至不能想到有多少黑客對你的網頁感到滿意......你有我的網址,所以我也可以免費購物? – StuiterSlurf

+0

@MKR:_「 - ve」_? _ 「minusve」 _?請輸入你想說的話。 – Cerbrus

回答

1

你無法完全切斷你自己的服務器。那意味着你永遠不會了解訂單。資金只會出現在您的帳戶中。

雖然你不應該收集信用卡信息。看看the Square Documentation for online transactions

作爲該過程的一部分,用戶被重定向到收集信用卡信息的Square網站。您永遠不需要將信用卡詳細信息發送到您的服務器。

  1. Merchant - 創建POST請求:。將訂單信息打包爲JSON消息。注意:目前,Square Checkout無法動態計算 運費或稅費,必須在POST請求中以 作爲訂單中的訂單項提供這些總計。
    1. 向標題添加授權令牌。
  2. 商人 - 發送所生成的POST請求來坊結帳和處理響應:
    1. 保存返回的結帳ID。
    2. 自動將客戶重定向到返回的Checkout頁面URL。
  3. 客戶 - 使用Square Checkout UI提供付款詳情。
  4. Square Checkout - 處理交易並向商家和客戶發送電子郵件確認。
  5. 商家 - 驗證交易結果。

enter image description here

+0

不錯的工作找到具體的文檔。我想我沒有足夠努力,認爲他們在開發者門戶背後。 –

0

要處理,你可能需要發送這將是不安全的顯示在您的前端部分API憑據支付。這就是爲什麼你可能需要一些後端。

當然,您可以允許客戶更改付款金額,通常不會。

正方形文檔已經有幾張漂亮的圖表和圖像顯示了它們的API如何工作以及如何理解其集成,例如,

Square API

看看他們的網站上,特別是how it works 「開始使用」 指南。

0

不幸的是,我無法找到你需要做到這一點的具體文件。看起來您需要使用您的帳戶憑據登錄到developer portal。如果您無法找到您需要的文檔,那麼您應該聯繫Square支持。話雖如此,我可以給你一些基本的指導。

  1. 請勿在您的網站上存儲任何信用卡信息。不要存儲在JavaScript變量中,發送到您的服務器,或將它們存儲在任何數據庫中。 Square會使用特定的代碼來保證數據安全,並確保它只與Square共享。

  2. 請嘗試在您嘗試使用的產品的文檔中進行挖掘。你應該在某種「安裝」或「入門」類型的文檔中找到你要完成的任務,這些文檔將被顯着地顯示出來。