2012-05-18 61 views
2

我爲付款實施新的平衡API,並開始考慮將其應用於我們的移動(本機)應用。在移動應用上使用平衡API的最佳做法

我發現他們有a javascript library直接發送信用卡信息到他們的服務器。我顯然不希望支付信息通過我們的服務器(PCI),我不想在應用程序中包含我的API密鑰/祕密。

那麼,在我們的移動應用上處理信用卡信息的最佳方式是什麼?

回答

2

UPDATE


能夠直接對Balanced進行RESTful API調用,以便在不使用balanc的情況下對卡進行標記ed.js.

卡和銀行帳戶終端不需要驗證來標記這些資源,因此您不必擔心在應用中包含任何API密鑰。該文檔解釋了我如何tokenize the card但讓更多的詳細解釋一下:

TL; DR

直接從您的移動應用發表的帖子與您的市場,它會相關​​的card_uribank_account_uri返回包含標記化資源的URI的響應。

如果你的市場的URI是/v1/marketplaces/M123-456-7890然後流是這樣的:

在客戶

你穿越應該像有效載荷:

{ 
    "card_number": "5105105105105100", 
    "expiration_month": "01", 
    "expiration_year": "2020", 
    "security_code": "123" 
} 

這應該是th EN像這樣

POST /v1/marketplaces/M123-456-7890/cards 

提交的響應將類似於:

{ 
    "brand": "visa", 
    "name": null, 
    "expiration_year": 2020, 
    "uri": "/v1/marketplaces/TEST-MP991-204-5261/cards/CCfc1596189e0911e18ba9024f5cb9b783", 
    "expiration_month": 12, 
    "state": "new", 
    "last_four": 5100, 
    "address": null 
} 

然後客戶端只需要返回響應您的服務器的uri,可以將存儲卡關聯的服務器上與用戶的帳戶。

在服務器

到卡的URI與現有帳戶關聯,你可以做一個PUT請求帳戶的URI與該卡的URI穿過作爲參數調用card_uri。如果您要創建一個新帳戶,然後POST與市場accounts_uri與用戶的電子郵件地址。

你要小心的是什麼,你不記錄用戶的card_numbersecurity_code任何調試日誌,因爲這將使設備進入PCI範圍,如果他們的電話遭到了破壞可能是壞的設備上。

+0

我們如何獲得「card_uri」或「bank_account_uri」值?你能分享一些相關的Objective C代碼嗎? –

+0

@Priyanshu - https://github.com/balanced/balanced-ios – mjallday

+0

感謝Marshal ...你知道在XCode項目中添加靜態平衡框架的正確方法嗎? –

相關問題