1

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?

+0

irgendwelche Schlussfolgerungen in Bezug auf dieses Problem zu überprüfen? – vondip

Antwort

1

Der einzige Weg, den ich gefunden habe, ist die Zahlung bei Fehler Callback