【无标题】

IOS内购认证踩坑

苹果内购认证的逻辑很简单,支付成功后,由前端发送一个凭证给后端,后端拿着凭证请求苹果提供的认证地址,根据返回的status来判断凭证是否正确,正确的话根据前端一同传递过来的订单号,处理订单逻辑。

上述流程没什么难度,但没想到会在请求参数的问题上踩了坑,浪费了几个小时,无语至极。

问题描述

上述代码执行后,一直返回 { "status": 21002 },意思是receipt-data 格式无效(不是合法的 Base64 凭证)

一开始我以为是传递参数没有按json格式发送给接口,后面测试了其他的http组件和扩展,各种设置header的content-type,但是都没有用,依然报上面的错

问题根源

前端传递的receipt凭证是bse64字符串,本来不因该包含反斜杠的。当时前端处理时,可能对它做了json转换,这会把字符串中 / 前都追加了 反斜杠 \

而我在测试时,前端使用的是form-data方式传参,导致原样接收了被追加了很多反斜杠的错误凭证。

当前端使用json传递参数,会自动把反斜杠转义,receipt凭证就又恢复了正常,认证就通过了

相关推荐
狗凯之家源码网31 分钟前
淘客口令落地页生成器 PHP 版深度评测
开发语言·php
画绛集美术37 分钟前
本地化部署LLM用于美术史问答:一间美术教室的实践记录
开发语言·php
PHP实战开发录5 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
狗凯之家源码网7 小时前
PHP 用户反馈系统源码深度评测与实战指南
开发语言·php·用户反馈系统
AC赳赳老秦9 小时前
数据采集全链路审计留痕:用 OpenClaw 实现合规审计与追溯
开发语言·汇编·python·php·swift·deepseek·openclaw
aixingpan11 小时前
aixingpan.cn API开发文档:api_docs_bichart_natalvssecondary2接口指南
前端·php
乃嘿仔14 小时前
AI 热点日报 · 2026-10-01
开发语言·人工智能·php
ai小陈14 小时前
GPU服务器租用部署实战:用systemd守护模型推理服务
运维·服务器·人工智能·ai·php·gpu算力
Zhang~Ling15 小时前
Linux网络:五种IO模型及其工作原理与应用
linux·网络·php
haerapi1 天前
RAPTOR 树不是把文档简单分组:递归聚类的层级检索
数据挖掘·php·聚类