

Monacaでcordova-plugin-purchaseにてios、Androidのアプリ内課金の定期購読を開発中です。  
iosはつつがなく完了しましたが、AndroidのGoogle Play Billing Library
対応のstore.orderが思ったように動作せず、前回購入したプロダクトが解約されず、二重購入になります。  
なお、二重購入は端末の購入履歴で確認しています。  
クローズテストなので7回自動更新され、最後に自動解約されます。

●知りたいことは、cordova-plugin-purchaseでのstore.order(product, additionalData)の記述方法です。  
下記のレスポンスなどを見ると、additionalData部分が反映されていない気がします。  
記述サンプルも見つけられないので地味に実験していますが、ウダツが上がりません。

購入ボタンを押すと下記が動作します。  
store.order(アップグレードproduct_id, { oldSku: 前回のproduct_id, prorationMode:
'DEFERRED' });  
または  
store.order(アップグレードproduct_id, 'DEFERRED');

参照  
<https://github.com/j3k0/cordova-plugin-purchase/blob/master/doc/api.md> の
store.order()  
<https://github.com/j3k0/cordova-plugin-purchase/releases> のv10.3.0

●cordova-plugin-purchaseからのレスポンス  
・・・・  
downloading"":false,""downloaded"":false,""additionalData"":null,""transaction"":{""type"":""android-
playstore"",""id"":""GPA.  
・・・・  
＝＞additionalDataがnull？？なんか入りそうな気がしますが。。。。  
＝＞マニュアルにはこのような書き方です。  
product.additionalData - additional data possibly required for product
purchase

●Google Play Developer API へ渡すデータ  
{""orderId"":""GPAxxxxxxx"",""packageName"":""xxxxxxxxxxxxxx"",""productId"":""プロダクト"",""purchaseTime"":xxxxxxxxxx,""purchaseState"":0,""purchaseToken"":""トークン"",""autoRenewing"":true,""acknowledged"":true}

●Google Play Developer API - Purchases.subscriptionsからのレスポンス（レシート検証後）  
{""startTimeMillis"":""xxxxxx"",""expiryTimeMillis"":""xxxxx"",""autoRenewing"":true,""priceCurrencyCode"":""JPY"",""priceAmountMicros"":""10000000000"",""countryCode"":""JP"",""developerPayload"":"""",""paymentState"":1,""orderId"":""GPA.xxxxxxxxxx"",""purchaseType"":0,""acknowledgementState"":1,""kind"":""androidpublisher#subscriptionPurchase""}

●環境  
ビルド環境 Android 9.1.0  
Cordovaバージョン 10.0.0  
cc.fovea.cordova.purchase バージョン 最新版  
デバッグビルドを端末にインストールしてテスト中。

よろしくお願い致します！！


CC BY-SA 4.0
2022-01-25T07:53:29.123
85924
2022-01-25T07:53:29.123
51088
question
android monaca cordova
cordova-plugin-purchase 定期購読のアップグレードで前回購入分が解約されない