前言
一般而言,我们其实很少对接退款接口,因为退款基本都是商家自己决定后进行操作的,但是苹果比较特殊,用户可以直接向苹果发起退款请求,苹果觉得合理会退给用户,但是目前公司业务还是需要对接这个接口,可能是以后为了对账之类使用的吧
本来对接api也没啥好说的,但是由于苹果官方是英文的,考虑到大部分人可能还是懒得找英文文档,所以进行了整理归档(我自己也是百度整理的...)
以下为参考的一些地址,2023-11-22记录,目前是有限的,以后不确定..请知悉
参考对接地址: 苹果(apple)支付退款通知、api_苹果支付api_Arhhhhhhh的博客-优快云博客
官网地址:
主动通知地址:Get Refund History | Apple Developer Documentation
被动通知地址:Handling refund notifications | Apple Developer Documentation
必知
这里主要介绍被动接收的(连接需要支持https),因为这种不是很好性能,主要是由于主动查询没有条件可以终止,所以选择用被动的,但是也会把相应工具类放上来,方便使用
对接步骤
配置通知URL
在 App Store Connect 进行配置,地址为:https://appstoreconnect.apple.com/login,由于我没有账号,所以是别人帮忙配的,如果不知道在哪配置可以参考这篇文章
苹果iOS内购三步曲:App内退款、历史订单查询、绑定用户防掉单!--- WWDC21 - 掘金

我这里使用的是V2版本的,V1是明文的,不太安全,所以我这里采用了V2版本
引入依赖
加解密需要引入工具包进行处理,以下是maven的坐标
<!-- jwt -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.8.1</version>
</dependency>
编写工具类
这一步最重要,这里直接放代码,到时你们可以直接复制使用
主动调用工具类
public class AppStoreReturnUtil {
//退款api正式环境
private static final String APP_STORE_RETURN = "https://api.storekit.itunes.apple.com/inApps/v2/refund/lookup/{originalTransactionId}";
//退款api沙箱环境
private static final String APP_STORE_SANDBOX_RETURN = "https://api.storekit-sandbox.itunes.apple.com/inApps/v2/refund/lookup/{originalTransactionId}";
/**
苹果支付退款退单接口对接指南

最低0.47元/天 解锁文章
4501

被折叠的 条评论
为什么被折叠?



