zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【HMS core】【IAP Kit】【FAQ】华为支付典型问题集

Core华为FAQ 支付 典型 HMS Kit 问题
2023-09-11 14:20:22 时间

 1.      应用内支付服务查看收入及如何实现退款功能。

问题描述:

应用程序接了华为支付,有应用内支付,收款对象是公司主体,请问如何看收入记录,并且退款在哪里操作?

解决方案:

1.退款操作

1.1.如果商品是订阅型商品的话,可以直接调用服务端API进行退款就行了。

取消订阅API调用指导:文档中心

撤销订阅API调用指导:文档中心

1.2.如果是非订阅型商品(消耗型、非消耗型商品)的话,就需要发送相关邮件给华为的运营。邮件中要填写附件中的excel表格

华为订单号退款金额退款原因
(字母开头)  

然后发送邮件给w.wuhailin@huawei.com进行退款

2. 查看收入记录,在AppGallery Connect后台支付报表中查看

cke_4589.png

2.   社区的DEMO支付公钥长度398字符,本账号的支付公钥长度为572,导致支付联调不通过

问题描述:

支付功能客户端返回的购买数据和签名服务器按照公钥进行验签不通过。

社区的DEMO支付公钥长度与本账号的支付公钥长度不一致,是否服务器的公钥在后台需要特殊处理?

解决方案:

公钥查看可参考:

cke_12926.png

验签可查看:

在接口调用过程中,请求方在获取接收方的响应结果后,如果返回结果中包含了签名字符串,请求方可以对签名字符串使用IAP公钥进行验签,确认返回结果没有被篡改。公钥获取参见查询支付服务信息。建议您把公钥存放在服务端并在服务端来完成签名校验,保证接口调用的安全性。

1、获取需要验签的返回结果字符串,例如obtainOwnedPurchases接口返回的inAppPurchaseDataList(购买数据InAppPurchaseData的JSON字符串列表)需要验签,先取inAppPurchaseDataList的第1条字符串参与验签。

2、获取对应的签名字符串,例如obtainOwnedPurchases接口返回的inAppSignature(对应inAppPurchaseDataList的签名字符串列表),取inAppSignature的第1条签名字符串参与验签。

3、使用IAP公钥对结果字符串和对应的签名字符串进行验签。可从返回对象(PurchaseResultInfo、OwnedPurchasesResult和ConsumeOwnedPurchaseResult)中获取signatureAlgorithm(例如:OwnedPurchasesResult.getSignatureAlgorithm),然后使用获取到的算法进行验签。若获取到的算法为空,则使用SHA256WithRSA算法进行验签。

文档中心

欲了解更多更全技术文章,欢迎访问:https://developer.huawei.com/consumer/cn/forum/topic/0203809436255550198?fid=18?ha_source=zzh