安卓 Shopify 手机购买版本 - 3.1.1 重试处理程序错误



嗨,我正在使用下面提到的代码来拉订单构象。但我无法从此查询中获取订单 ID 和订单详细信息。即使订单确认也无法获得订单ID和订单详细信息。目前我正在使用 shopify mobilebuysdk:buy3:3.1.1

graphClient!!.queryGraph(query).enqueue(
    object : GraphCall.Callback<Storefront.QueryRoot> {
        override fun onResponse(@NonNull response: GraphResponse<Storefront.QueryRoot>) {
            if (response.data()!!.getNode() as Storefront.Checkout != null) {
                val checkout = response.data()!!.getNode() as Storefront.Checkout
                println("CheckOut : " + checkout)
                if (checkout != null) {
                    if (checkout.getOrder() != null) {
                        if (checkout.getOrder().getId().toString() != null) {
                            val orderId = checkout.getOrder().getId().toString()
                            println("Order ID : " + orderId)
                        }
                    }
                }

            }

        }
        override fun onFailure(@NonNull error: GraphError) {}
    }, null,
    RetryHandler.exponentialBackoff(1, TimeUnit.MILLISECONDS, 1.2f)
            .whenResponse<Storefront.QueryRoot> { response ->
                (response.data()?.getNode() as Storefront.Checkout).getOrder() == null
            }
            .maxCount(10)
            .build())
val checkoutId = ID(tinyDB!!.getString("New_checkoutID"))
    val query = Storefront.query({ rootQuery ->
        rootQuery
                .node(checkoutId, { nodeQuery ->
                    nodeQuery
                            .onCheckout({ checkoutQuery ->
                                checkoutQuery
                                        .order({ orderQuery ->
                                            orderQuery
                                                    .orderNumber()
                                                    .totalPrice()
                                                    .processedAt()
                                        }
                                        )
                            }
                            )
                }
                )
    }
    )    
graphClient!!.queryGraph(query).enqueue(
            object : GraphCall.Callback<Storefront.QueryRoot> {
                override fun onResponse(@NonNull response: GraphResponse<Storefront.QueryRoot>) {
                    val checkout = response.data()!!.getNode() as Storefront.Checkout
                    val orderId = checkout.getOrder().getId().toString()
                }
                override fun onFailure(@NonNull error: GraphError) {}
            }, null,
            RetryHandler.exponentialBackoff(1, TimeUnit.MILLISECONDS, 1.2f)
                    .whenResponse<Storefront.QueryRoot>(
                            { response -> (response.data().getNode() as Storefront.Checkout).getOrder() == null }
                    )
                    .maxCount(10)
                    .build()
    )

看看这个答案,购物网络结帐问题

第一件事是从QraphQL设置中删除HttpCachePolicy。尝试提供Network_Only订单状态 API 后。

你的问题就会消失。

最新更新