Ich verwende die Zahlungs-API für einen In-App-Kauf innerhalb einer Chrome-Erweiterung.Google Chrome: Zahlungs-API gibt einen Kaufversuch fehl, während die Transaktion erfolgreich ist
Ich bin in der Lage, einen Kauf einzuleiten, der funktioniert und die Transaktion aktiviert, aber der Rückruf geht zu onPurchaseFailed statt onPurchase.
manifestieren:
"offline_enabled": true,
"name": "__MSG_name__",
"description": "__MSG_description__",
"manifest_version": 2,
"version": "1.1.2",
"default_locale": "en",
"icons": {
"128": "style/128_on.png"
},
"background": {
"persistent": true,
"scripts": [ "js/jquery.min.js","js/bg.js" ]
},
"browser_action": {
"default_title": "__MSG_name__",
"default_icon": "style/128_off.png",
"default_popup": "popup.html"
},
"key": "...",
"oauth2": {
"client_id": "...",
"scopes": [ "https://www.googleapis.com/auth/chromewebstore.readonly" ]
},
"permissions": [ "*://*/*", "activeTab", "tabCapture", "tabs" ]
API buy Methode:
google.payments.inapp.buy({
parameters: {'env': "prod"},
'sku': sku,
'success': onPurchase,
'failure': onPurchaseFailed
});
Ich erhalte:
onPurchaseFailed Object{
checkoutOrderId:"10370910..."
response:Object{
errorType:"PURCHASE_CANCELED"}
}
Die Lizenz jedoch aktiviert wird:
google.payments.inapp.getPurchases({
'parameters': {'env': 'prod'},
'success': onLicenseUpdate,
'failure': onLicenseUpdateFail
});
kehrt:
createdTime: //some number
itemId: //some string
kind:"chromewebstore#payment"
sku: //some string
state:"ACTIVE"
Ich habe den Verdacht, dass dies geschieht, weil die Kauffenster eine Nachricht Stornierung sendet, wenn er geschlossen wird, was den onPurchaseFailed Rückruf auslöst. Wie geht man damit um?
irgendwelche Schlussfolgerungen in Bezug auf dieses Problem zu überprüfen? – vondip