验证 google 订单


依赖

 <dependency>
       <groupId>com.google.apis</groupId>
       <artifactId>google-api-services-androidpublisher</artifactId>
       <version>v3-rev20200909-1.30.10</version>
 </dependency>


验证代码

/**
 * 验证 google 订单 (消耗性商品)
 *
 * @param productId     商品Id
 * @param purchaseToken google购买凭证(客户端提供)
 */
public void checkGoogleOrder(String productId, String purchaseToken) throws IOException, GeneralSecurityException {

    // 需要准备的参数
    String serviceAccountEmail = "账户邮箱地址";
    String p12path = "p12的路径";
    String appName = "创建商品时,app的名称";


    ClassPathResource classPathResource = new ClassPathResource(p12path);
    InputStream input = classPathResource.getInputStream();
    HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
    PrivateKey privateKey = SecurityUtils.loadPrivateKeyFromKeyStore(SecurityUtils.getPkcs12KeyStore(), input, "notasecret", "privatekey", "notasecret");

    GoogleCredential credential = new GoogleCredential.Builder()
            .setTransport(transport).setJsonFactory(JacksonFactory.getDefaultInstance())
            .setServiceAccountId(serviceAccountEmail)
            .setServiceAccountScopes(AndroidPublisherScopes.all())
            .setServiceAccountPrivateKey(privateKey).build();

    AndroidPublisher publisher = new AndroidPublisher.Builder(transport, JacksonFactory.getDefaultInstance(), credential).build();

    AndroidPublisher.Purchases.Products products = publisher.purchases().products();

    AndroidPublisher.Purchases.Products.Get product = products.get(appName, productId, purchaseToken);

    // 订单验证结果,通过此对象获取
    ProductPurchase purchase = product.execute();

    // ProductPurchase的属性 purchaseState 表示订单状态 (0:已购买, 1:已取消, 2:待定)
    if (purchase.getPurchaseState().equals(0)) {
        log.info("check google order success");
    }
}


文章发布时,部分类 google 已不推荐,但是可以进行订单验证!
大家如果有最新的验证代码,欢迎分享给我,一起交流

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值