谷歌支付流程
1.谷歌支付介紹
2.集成清單流程,按照谷歌的官方文檔說明,必須滿足這個(gè)鏈接里面顯示的清單文件所有條件
https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist
3.谷歌支付SDK集成步驟,這里之所以先讓你看集成清單流程,是想突出,流程比SDK集成重要,先看懂集成清單,才更加有利于你把SDK進(jìn)行集成
https://developers.google.com/pay/api/android/guides/tutorial
4.關(guān)鍵API講解 gateway gatewayMerchantId
private static JSONObject getGatewayTokenizationSpecification() throws JSONException {
return new JSONObject() {{
put("type", "PAYMENT_GATEWAY");
put("parameters", new JSONObject() {
{
/**
* geteway 這里顯示的是example只是讓你跑demo用的。實(shí)際情況下,需要根據(jù)你們公司的業(yè)務(wù)進(jìn)行設(shè)置,
* 例如我們用的是stripe。這個(gè)地方就要替換example為stripe
* 參考鏈接:https://developers.google.com/pay/api/android/reference/request-objects#gateway 然后直接看Gateway 相關(guān)的屬性
* gatewayMerchantId:YOUR_GATEWAY_MERCHANT_ID" 就是你們申請(qǐng)的商家賬號(hào)(這個(gè)地方會(huì)有很多坑。)
*/
put("gateway", "example");
put("gatewayMerchantId", "exampleGatewayMerchantId");
}
});
}};
}
代碼注釋描述的比較清晰了。這個(gè)地方是決定能否正常使用谷歌支付的關(guān)鍵點(diǎn),如果你是直接用demo跑的,谷歌都會(huì)正常調(diào)用起你的支付、付款流程,里面的關(guān)鍵參數(shù):gateway/gatewayMerchantId 需要根據(jù)正式環(huán)境申請(qǐng)的數(shù)據(jù)進(jìn)行填寫
5.關(guān)鍵API講解
PaymentsClient
WalletConstants.ENVIRONMENT_PRODUCTION
WalletConstants.ENVIRONMENT_TEST
mPaymentsClient =
Wallet.getPaymentsClient(this,
new Wallet.WalletOptions.Builder().setEnvironment(WalletConstants.ENVIRONMENT_TEST)
.build());
如果我們直接跑demo。會(huì)發(fā)現(xiàn)這里顯示的環(huán)境是測(cè)試環(huán)境,需要知道的是,測(cè)試環(huán)境只是告知我們支付的流程,并不能用于我們上線的時(shí)候使用,因?yàn)闇y(cè)試支付流程是不會(huì)正??劭畹摹K?,我們需要設(shè)置成WalletConstants.ENVIRONMENT_PRODUCTION
問題點(diǎn)(全文最關(guān)鍵的點(diǎn))
1.當(dāng)我們按照上述流程進(jìn)行測(cè)試環(huán)境的流程拉通后,必定要走生產(chǎn)環(huán)境的流程WalletConstants.ENVIRONMENT_PRODUCTION,這個(gè)時(shí)候,會(huì)發(fā)現(xiàn)一直無法正常調(diào)用起谷歌支付,也許會(huì)提醒你,“該商戶未開通gooogle pay” 或者405等問題。查找相關(guān)問題,
請(qǐng)參考:https://developers.google.com/pay/api/android/support/troubleshooting
這里強(qiáng)行解釋一波。出現(xiàn)這些問題的根節(jié)點(diǎn),在于,我們沒有向谷歌發(fā)起申請(qǐng),要求生產(chǎn)訪問的申請(qǐng),請(qǐng)參考
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
https://services.google.com/fb/forms/googlepayAPIenable/
里面有很多參數(shù)需要填寫,比較關(guān)鍵的地方
- Tokenization Method 正常直接選擇GateWay
If you are unsure, learn more about Android tokenization methods and Web tokenization methods. - Payment Processor or Gateway
在上面的文章有提到gateway。需要根據(jù)你們公司具體申請(qǐng)情況填寫
參考:
https://developers.google.com/pay/api/android/reference/request-objects#gateway - Integration Platform Details *
填寫包名就可以了 - Please provide a shared Drive link to any applicable attachments (ex. APK, screenshots, bug reports)
這一項(xiàng),相當(dāng)重要了。你需要做的是,錄一段視頻,放到外網(wǎng),我是放facebook上面,然后把鏈接貼上去。這段視頻,要拍攝的是你app里面有關(guān)于支付的使用流程,越詳細(xì)越好,要在app里面進(jìn)行菜單選擇、購物車添加、發(fā)起支付(這里的支付,直接用測(cè)試環(huán)境進(jìn)行支付).谷歌想知道,為什么你需要集成支付功能。所以這一段視頻是相當(dāng)關(guān)鍵的,決定了你是否能夠在生產(chǎn)環(huán)境進(jìn)行支付。
- 最后一波
當(dāng)你做完這些操作,別忘記,去google play上架你集成過支付功能的apk到內(nèi)測(cè)通道。 - 最最后一波
按照正常流程,你剛才發(fā)起的申請(qǐng),會(huì)在1-7個(gè)工作日反饋結(jié)果,谷歌會(huì)給你發(fā)一封郵件,郵件里面會(huì)提醒你,你已經(jīng)可以進(jìn)行生產(chǎn)環(huán)境的支付了。
payments.developers.google.com/signup.
你需要在這個(gè)鏈接里面填寫相關(guān)公司的資料。然后點(diǎn)擊NEXT 選擇你需要集成支付功能的apk項(xiàng)目點(diǎn)擊enable。打開
至此,谷歌SDK支付功能已經(jīng)全部講解完畢,網(wǎng)上有很多教程,我覺得講的都不夠透徹,完全沒有講解到點(diǎn)上,云里霧里,附上申請(qǐng)成功后,谷歌反饋的郵件信息,只要收到這封郵件,一切都是很順理成章了
