代码之家  ›  专栏  ›  技术社区  ›  HelloCW

当我使用测试帐户测试谷歌应用内支付时,为什么退款?

  •  0
  • HelloCW  · 技术社区  · 5 年前

    我测试谷歌应用内支付使用测试帐户,我想我已经推出 acknowledgeNonConsumablePurchasesAsync 对于非消耗品,就像代码A一样。

    但是googleplay给我退款这个测试订单,你可以看到图片a。

    代码A

      private fun processPurchases(purchasesResult: Set<Purchase>): Job {
            return CoroutineScope(Job() + Dispatchers.IO).launch {
                val validPurchases = HashSet<Purchase>(purchasesResult.size)
                purchasesResult.forEach { purchase ->
                    if (purchase.purchaseState == Purchase.PurchaseState.PURCHASED) {
    
                        if (purchase.sku.equals(purchaseItem)){
                            if (isSignatureValid(purchase)) {
                                validPurchases.add(purchase)
                                setIsRegisteredAppAsTrue(mContext)
                                mContext.toast(R.string.msgOrderOK)
                            }
                        }
    
                    } else if (purchase.purchaseState == Purchase.PurchaseState.PENDING) {
                        Log.d(LOG_TAG, "Received a pending purchase of SKU: ${purchase.sku}")
                        // handle pending purchases, e.g. confirm with users about the pending
                        // purchases, prompt them to complete it, etc.
                    }else{
                        mContext.toast(R.string.msgOrderError)
                    }
                }
                acknowledgeNonConsumablePurchasesAsync(validPurchases.toList())
            }
        }
    
       private fun acknowledgeNonConsumablePurchasesAsync(nonConsumables: List<Purchase>) {
            nonConsumables.forEach { purchase ->
                val params = AcknowledgePurchaseParams.newBuilder()
                               .setPurchaseToken(purchase
                               .purchaseToken).build()
    
                playStoreBillingClient.acknowledgePurchase(params) { billingResult ->
                    when (billingResult.responseCode) {
                        BillingClient.BillingResponseCode.OK -> {
                            
                        }
                        else -> Log.d(LOG_TAG, "acknowledgeNonConsumablePurchasesAsync response is ${billingResult.debugMessage}")
                    }
                }
            }
        }
    

    图像A android

    0 回复  |  直到 5 年前