iOS In-App Purchase中涉及到的货币单位

跨平台应用内购买编排:解决多端IAP后处理难题 应用内购买(IAP)是移动应用数字商品与订阅服务的核心变现方式,但多平台上架时,不同商店的SDK、回调格式与订阅状态管理差异巨大,尤其是收据验证与退款处理等支付后流程,常让开发团队陷入重复劳动。面对这一挑战,业界通过引入支付编排层,将各家商店的购买凭证统一转换为标准化事件,并驱动订单对账、权益发放与订阅生命周期管理。这种模式不仅适用于出海应用的多端分发,也适合Flutter、React Native等跨端框架的项目,帮助后端工程师从复杂平台差异中解放出来。本文以Orca为例,拆解IAP编排的核心流程、关键配 阅读详情

转自:http://www.molotang.com/articles/1437.html


iOS In-App Purchase中涉及到的货币单位

现在iOS的AppStore上各类应用非常丰富,有付费的也有免费的,而免费的应用也可以支持IAP (In-App Purchase,应用内支付) 。 对于应用内支付,我们有时候希望对用户的支付行为进行记录,甚至通过记录支付过程进行记账,那在这个过程中用户支付所使用的货币类型是我们需要考虑的一个问题,这里我整理一下。

做过iOS发布的朋友应该都知道,我们在iTunes Connect上发布一款应用的时候会选择发布的国家/地区。这实际上也就是说我们在不同国家地区的AppStore上,可下载安装的应用是不同的,而且这与用户的Apple ID账号有关。

所以,本文的问题主要是针对多地区发布的,如果你的应用只在中国大陆发布,而不考虑港、澳、台及其他国家和地区,应用收费只需要关注人民币就可以了。

在iTunes Connect提交IAP商品信息时,我们定的价格只需要选择对应的Price Tier,苹果的AppStore会根据特定的货币单位转换成对应的值。

在应用客户端里,商品信息通过向AppStore发起SKProductsRequest获得。每一个商品的价格等由一个SKProduct对象来维护,其中有两个重要属性:

  • price,一个NSDecimalNumber类对象
  • priceLocale,一个NSLocale对象,表示地区信息,和price的数值对应;这里面包含的东西就多了,其中包括一个货币单位

一个商品,比如设置了Tier1,那么如果他在美国AppStore发布,即用户账号是在美国AppStore登录,则得到的price是0.99,单位是USD;而如果在中国大陆,则是6,单位CNY。关于货币单位,这其中有几种办法,可以通过localeIdentifier方法来获取,也可以通过key-value的方式获取到。

如果需要在付款时给用户提示,显示的字符串可以这样拼凑:

NSNumberFormatter *numberFormatter = [[ NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior: NSNumberFormatterBehavior10_4 ];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle ];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedPrice = [numberFormatter stringFromNumber:product.price];

这也是苹果官方文档给出的示例代码。其中主要是使用了NSNumberFormatter类,behavior是和操作系统版本有关的参数,style则是显示NSDecimalNumber时的格式,除了CurrencyStyle这个常量还有百分号、科学计数法等风格,读者可以自己尝试,locale则决定了CurrencyStyle下的货币单位符号,而且仅仅是符号。注意一点,NSNumberFormatter不会根据单位和汇率给你做货币数值转换的工作,如果需要转成统一货币,那要自己根据实时汇率做转换计算喽。

除了货币单位,每个商品可以在iTunesConnect上配置本地化/国际化的名称和描述信息,这里就不多说了。

有关货币单位,可以参看苹果的支付协议文档或App Store Pricing Matrix,也可以参看ISO 4217上的内容:

ISO4217(维基百科)

非统计学路径的数据科学实战:清洗、建模与可视化一站式入门 数据科学不是统计学的子集,而是面向真实业务场景的数据工程实践。它以数据清洗为起点,通过Python+SQL+Power BI等高渗透率工具链,将杂乱原始数据(如Excel乱码、嵌套JSON、PDF表格)转化为可驱动决策的结构化指标;核心在于业务导向建模——用可解释的规则引擎替代黑箱模型,以阈值判断、归因路径和参数化看板实现技术与业务对齐;低门槛可视化则强调趋势对比、分布热力与瀑布归因三类高价值图表,让分析结果直通管理层。本文聚焦数据清洗工程与业务导向建模两大关键能力,提供开箱即用的代码模板与企业级实操范式。 阅读详情

相关推荐

数据清洗实战:从脏数据到可信特征的四阶段工程化方法

数据清洗是机器学习 pipeline 中承上启下的核心环节,其本质不是简单删除缺失值或异常点,而是建立结构、业务与统计三层数据契约,确保原始数据可读、可信、可用。其原理在于分阶段阻断污染传播——解析层强制类型对齐,校验层嵌入业务规则,修复层语义化填充,归一化层为特征工程铺路。技术价值体现在提升模型鲁棒性、降低bad case率、支撑线上服务稳定性;典型应用场景覆盖电商用户行为日志、金融交易流水、IoT设备上报等高噪声真实数据源。本文聚焦 Effective Data Cleaning 与清洗四阶段流水线两大

weixin_33907511的博客 303

iOS 内购中的本地化测试. How to test 'priceLocale'?

在啃了不少文档之后, 内购的东西终于理顺了, 也理清楚了, 可以搞UI了, 因为app不仅在国内用, 还要在国外用, 所以根据国家不同显示不同的货币符号和对应的价格就很有必要了(例如 $0.99, ¥666). SKProductsRequest中始终返回的是中文, 包括localizedTitle,localizedDescription等都是, 修改系统语言, 修改系统区域, noth...

qq_15906567的博客 2486

数据科学是马拉松:五大维度配速策略与工程化成长路径

数据科学不是孤立的编程或建模技能,而是一门融合统计推断、软件工程、业务语义理解与系统思维的复合型实践。其核心原理在于知识价值高度依赖‘连接点’——即技术概念如何映射到工程约束与真实业务目标。这种非线性学习特性导致长周期反馈延迟和显著的边际效益拐点,使单纯刷题或碎片化学习极易失效。技术深度必须与工程鲁棒性、业务翻译能力同步演进,否则将陷入‘模型准确率高但无人使用’的落地困境。本文聚焦数据科学学习中的关键瓶颈:Docker环境不可复现、SQL无法被业务方直接复用、特征工程缺乏业务可解释性等典型问题,提供分阶段配

weixin_33709609的博客 464

Cocos2d-x使用iOS游戏内付费IAP(C++篇)

设备与账号 在开始编码之前我们需要准备测试环境。 IAP只能真机测试,准备一台iOS设备是必须的。真机调试与IAP沙盒(SandBox)测试需要IDP(IOS Developer Program)账号。MAC开发机一台. 本文不涉及IDP申请流程和真机调试设置,重点解析IAP相关的设置。 新建IAP付费条目 新建app ID 登录iOS Dev Center,

u011240067的专栏 1504

iOS小技能:金额格式处理 (货币符号本地化)

通过设置 NSNumberFormatter 的 numberStyle 和 positiveFormat 属性 - (NSString *)formatDecimalNumber:(NSString *)string { if (!string || string.length == 0) { return string; } NSNumber *number = @([strin...

专注于计算机研发知识和资讯分享 1万+

iOS本地化货币符号显示不正确(显示为XXX)的解决

在App切换本地语言时,其IAP中的产品价格里的货币符号显示不正确. 如上图所示,除了最右边英语的货币符号正确外,其他所有的都不对。 实际上,App中除了英语以外,包括中文,日文,韩文,德文等在内的多种语言货币符号都不正确,它们大多都显示为"XXX"。 那么,这是什么原因造成的又如何解决呢? 别急,下面就让我们 Let's GO!;)

享受开发,颠倒银河 2233

ios支付 选择货币_iOS In-App Purchase中涉及到的货币单位

iOS In-App Purchase中涉及到的货币单位现在iOS的AppStore上各类应用非常丰富,有付费的也有免费的,而免费的应用也可以支持IAP (In-App Purchase,应用内支付) 。对于应用内支付,我们有时候希望对用户的支付行为进行记录,甚至通过记录支付过程进行记账,那在这个过程中用户支付所使用的货币类型是我们需要考虑的一个问题,这里我整理一下。做过iOS发布的朋友应该都知...

weixin_39894233的博客 1557

移动游戏IAP数据集:架构解析与商业智能实战指南

应用内购买是移动游戏商业化的核心,其背后是一套复杂的用户行为与交易数据体系。理解IAP数据的原理,关键在于掌握其多维数据结构,通常涵盖用户画像、行为事件、交易流水和商品信息等关联表。这套数据体系的技术价值在于,它能支撑从基础指标计算到高级预测模型的全链路分析,是进行收入预测、用户分群和定价策略优化的基石。在实际应用场景中,数据分析师和算法工程师可以基于此类数据,通过SQL查询与Python可视化分析商品表现,或利用机器学习模型预测用户付费倾向,从而驱动精准运营。本文以一份面向未来的模拟数据集为例,深入探讨了

weixin_34075268的博客 588

asc-devkit Matmul 输出随路反量化直调样例:Int8 矩阵乘的标量与向量双模反量化实现

本文以 asc-devkit 仓库中 [matmul_quant 样例](https://link.gitcode.com/i/17e238078b13e3e14f3024ebf9a8fca3) 为核心,完整讲解“Matmul 输出随路反量化”直调场景的实现与实战流程。读完本文后,你将掌握:如何用 Ascend C 的 `Matmul` API 完成 int8_t 输入、half 输出的量化矩阵乘

gitblog_09802的博客 458

苹果内购(iap)价格表-人民币.pdf

苹果内购价格表中的实际收入是一个动态变化的的,会根据税收变化而发生改变,一般苹果会收取30%左右的金额。但是表格里边的价格和等级一般是不变的。

Mplus实战:如何用交叉滞后面板模型(CLPM)分析心理学纵向数据?

本文提供了在Mplus软件中应用交叉滞后面板模型(CLPM)分析心理学纵向数据的实战指南。文章详细拆解了CLPM的核心概念、Mplus语法框架,并涵盖从基础的两变量模型到多变量、潜变量建模的扩展,以及结果解读与常见陷阱规避,旨在帮助研究者利用这一经典工具有效探索变量间的动态预测关系。

weixin_29253711的博客 403

Flutter 应用内购平台接口 in_app_purchase_platform_interface:接口设计、扩展机制与平台适配实战

`in_app_purchase_platform_interface` 是 Flutter 官方团队维护的 `in_app_purchase` 插件所依赖的**通用平台接口(platform interface)**,它定义了应用内购(IAP)领域层与各平台实现(Android / iOS / macOS 等)之间必须遵守的契约,保证插件自身与所有平台实现支持同一套 API。本文以该包仓库内的

gitblog_00460的博客 335

在innovus中通过ecoAddRepeater插入buffer/inverter

在innovus中,我们可以通过ecoAddRepeater命令来在net上添加单个buffer或者成对的inverters。ecoAddRepeater命令的行为由命令setEcoMode控制。 选项说明 -cell <list of cells> 指定插入的buffer或者inverter的类型。 -net <netName> | -term <inst1/term1 inst2/term2 ...> -net指定需要插入buffer/inverters的

kevindas的博客 1万+

InAppBillingPlugin 国际化支持:多货币和多语言支付界面实现指南

InAppBillingPlugin 是一个功能强大的跨平台应用内购买插件,为 .NET MAUI 和 Windows 应用提供完整的国际化支付解决方案。这个插件支持多货币和多语言界面,让开发者能够轻松为全球用户提供本地化的应用内购买体验。无论是iOS、Android还是Windows平台,InAppBillingPlugin都能自动处理货币转换和本地化显示,简化了国际化支付的复杂性。 ## ?

gitblog_07880的博客 409

使用光流进行 Warp 的流程

光流描述了图像帧中每个像素的运动。前向光流:描述了帧中每个像素在帧中的移动位置。后向光流:描述了帧中每个像素在帧​ 中的移动位置。水平方向的位移(x 方向),即每个像素水平移动了多少像素。垂直方向的位移(y 方向),即每个像素垂直移动了多少像素。使用光流进行 Warp 的流程Warp 是通过光流对图像进行变换的操作,旨在将前一帧的像素根据光流场映射到下一帧的对应位置。Step 1: 计算光流我们首先需要通过光流网络(如 RAFT)来估算两帧之间的光流。我们可以获得前向光流(从帧​ 到帧。

qq_44199605的博客 2108

新手必看:如何用Python模拟电动助力转向系统(EPS)的传感器信号处理

本文详细介绍了如何使用Python模拟电动助力转向系统(EPS)的传感器信号处理流程,包括转向力矩、转向角度和车速信号的生成与滤波处理。通过实战代码示例,帮助开发者理解ECU如何计算助力扭矩,并提供了可视化分析和性能优化建议,适合汽车电子系统开发新手学习。

weixin_28327051的博客 354

【愚公系列】《移动端AI应用开发》042-DeepSeek与第三方服务的集成(第三方支付与交易系统集成)

文章摘要: 本文探讨了移动端AI应用与第三方支付系统的集成,重点介绍了PayPal、支付宝(AliPay)和微信支付(WeChat Pay)的对接流程。通过代码示例展示了支付请求创建、订单状态跟踪及回调处理的核心步骤,涵盖Node.js SDK配置、支付订单生成和结果捕获。此外,简要提及跨境支付涉及的货币转换问题,强调支付网关在提升用户体验和安全性中的作用。开发者可通过本文快速掌握主流支付平台的集成方法,为AI应用扩展商业化功能提供实践指导。

愚公智库 6120

S7-1200中时钟功能设定和读写调用的具体方法

S7-1200中时钟功能设定和读写调用的具体方法

Robot_PLC_HMI_Automation 1万+

Orca:跨平台应用内购买编排层实战指南

在移动应用开发中,应用内购买(IAP)与订阅管理是跨平台产品必须面对的复杂环节。App Store与Google Play的回调机制、验签逻辑、订阅状态同步及退款处理存在显著差异,导致后端服务需要适配两套规则。通过引入统一的支付回调编排层,将渠道差异收敛为标准化事件模型,并借助异步任务队列与幂等机制保障订单状态一致性,可显著降低业务侧集成成本。此类方案尤其适用于会员订阅、虚拟商品交易及多端付费墙场景。开源项目Orca正是这样一套跨平台内购编排层,其核心能力、部署流程、测试用例与工程化实践可为团队快速落地IA

weixin_34037515的博客 333

python代码实现了一个基于图注意力网络(GAT)和长短期记忆网络(LSTM)的股票成交量预测模型

自定义数据集类:定义了类,继承自。该类用于生成股票数据的时间序列样本,每个样本包含一个长度为seq_length的时间序列和对应的目标成交量。数据加载器:使用DataLoader对数据集进行批量加载,设置批量大小为 64,并开启数据打乱功能。GAT - LSTM 模型:定义了GAT_LSTM类,继承自。该模型结合了 GAT 和 LSTM 两种神经网络:GAT 部分:使用GATConv处理全局图特征,捕获股票之间的相互关系。LSTM 部分:使用nn.LSTM处理时间序列数据,捕捉时间序列的动态变化。

huanghm88的专栏 424

基于Python的车牌识别系统实现

本文将以基于Python的车牌识别系统实现为方向,介绍车牌识别技术的基本原理、常用算法和方法,并详细讲解如何利用Python语言实现一个完整的车牌识别系统。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 5万+

用 Winglang 在 AWS VPC 中构建私有 API Gateway:完整实战指南

本文基于 Wing 语言官方指南 [docs/docs/08-guides/04-private-api-gateway-aws.md](https://link.gitcode.com/i/cf924d96a29507b3d92276682970d926),完整演示如何用 Winglang 在 AWS Virtual Private Cloud(VPC)内构建**只允许 VPC 内部访问的私有

gitblog_00426的博客 214

腾讯音乐 QQ音乐商业化客户端开发工程师:岗位深度解析与面试攻略

腾讯音乐QQ音乐商业化客户端开发工程师岗位要求3年以上Android开发经验,熟练掌握Kotlin/Java及跨端开发技术。核心职责包括QQ音乐客户端功能开发、架构优化、性能提升及技术攻关。岗位要求计算机相关本科以上学历,具备完整项目开发经验,熟悉TCP/IP等网络协议,能独立解决复杂技术问题。面试重点考察项目经验、架构设计、性能优化及新技术研究能力,建议候选人准备具体案例,量化成果,并熟悉Flutter等跨端技术。该职位强调技术深度与产品思维的结合,需展现扎实的编程基础、问题解决能力和团队协作精神。

郑伟强dev的专栏 366

机器学习Prior阶段:数据可视化驱动的建模前认知革命

在机器学习流程中,'Prior阶段'指模型训练前对原始数据的系统性认知与诊断过程,其核心是借助Python可视化工具(如seaborn、matplotlib、plotly)实现数据完整性、分布形态、变量关系与业务逻辑的深度对齐。该阶段并非简单绘图,而是以图形为媒介完成缺失模式识别、分布异常探测、非线性关系发现及数据漂移预警等关键任务,本质是将统计描述升维为可解释的业务洞察。技术价值在于规避‘垃圾进、垃圾出’陷阱,显著提升特征工程合理性与模型线上稳定性;典型应用场景覆盖金融风控中的风险拐点识别、电商用户流失预

weixin_30268921的博客 818

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: iOS7 bringSubviewToFront 和frame问题
下一篇: 手把手教你做iOS推送
StudyRecord
博客等级 码龄16年 96粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值