跳到本文

身份与交易

Transact

固定金额收款与原始交易核验

Transact 为业务后端提供固定金额收款、渠道直付和原订单查询。每笔交易先保存账号、金额、币种与订单声明,再用匹配的渠道证据推进状态。通知或主动查询提供成功证据,核验并提交后保留唯一收据;业务应用继续负责余额、资金预留、风控与履约。

在通知丢失后继续确认原付款 付款方完成渠道操作,但业务暂时未收到结果。服务沿已经绑定的原渠道查询同一订单,得到完整成功证据后保存同一收据;业务再据此核对并完成自己的交付。

先保存声明,再发起渠道工作

业务后端使用 Account 身份服务签发的限定权限令牌,提交应用内订单号、账号、标题和金额。首次接纳时保存并锁定原始声明;相同内容再次提交会取回同一订单,原字段变化则构成冲突。金额使用整数最小货币单位,明确币种,不在服务内换汇。

付款页面使用独立随机访问凭据,订单编号本身不能授权选择渠道。付款方看到的选项取决于渠道产品配置、币种、金额、标题及返回地址是否符合要求。付款链接、二维码和浏览器返回都只帮助继续原订单,不能作为付款证明。

原订单绑定已选渠道,成功通知与原单查询分别提供证据,匹配后汇入同一个条件提交并形成唯一收据。
匹配原单的成功证据,汇成唯一收据通知或主动查询都可为同一份原订单提供成功证据。只有完整匹配的证据才能提交收据;超时、材料过期或查询不可用仍不能证明付款失败。

从业务原单走到自己的履约记录

业务方先保存自己的订单声明,包括应用内订单号、账号、标题、币种与整数最小单位金额,再用该身份调用交易服务。收据返回后,SDK 的核对依据仍是业务方保存的原字段,而不是付款页面展示内容或浏览器带回的状态。

Transact 负责原渠道交易和已确认收据;商品交付、额度发放与业务余额属于调用方。业务方应把同一收据对应到自己的原订单,并在自己的账本中防止重复履约。出款还需先完成业务授权与资金预留,未知结果不能被当作资金已经安全退回。

  1. 保存并提交原声明

    固定应用内身份与精确金额,相同声明用于取回原订单,字段变化应作为冲突处理。

  2. 让付款方继续原订单

    通过独立访问凭据取得可用渠道与付款材料,渠道一经选择便保持原绑定。

  3. 核对收据后履约

    比对原账号、币种、金额和订单关系,再由业务系统记录自己的交付结果。

明确每个渠道承担的产品

收款使用微信和抖音的 Native 扫码产品、支付宝桌面或移动网页支付,以及 Stripe Checkout 托管收银台。渠道选定后与原订单绑定,处理中不能切换成另一笔渠道交易。二维码面向扫码场景,不自动提供手机同设备支付或其他入口。

出款由业务应用先授权并预留自身资金。Transact 读取 Account 中已绑定的支付宝或抖音用户标识(OpenID),核对签发应用与商户产品,再锁定收款人和转账编号。后续恢复继续使用原收款人,账号配置变化不能把已接纳出款转给别人。

渠道与币种范围
渠道收款入口直接出款
微信Native 扫码;人民币(CNY)不提供
抖音Native 扫码;CNYCNY;账号绑定的 OpenID
支付宝桌面 PAGE / 移动网页 WAP;CNYCNY;账号绑定的 OpenID
StripeCheckout;已配置的 CNY / 美元(USD)不提供

让通知与查询确认同一个结果

成功通知先按渠道验证签名或加密内容,再核对商户、原始订单、账号、币种和精确金额。完整成功证据进入同一事务,检查当前订单并保存结果;向渠道查询原订单也使用这个入口。重复或并发证据保留同一份收据、确认时间与累计金额。

收款成功时同时保存待发送的账号付费标记,再由后台任务交给 Account。身份服务暂时不可用不会撤销收据。处理超时、链接过期、查询缺失或未付款观察不能直接写成失败;只有证据证明原单从未付款且已明确不可付款,才结束为失败。

结果对业务应用的意义
取得的证据业务可以据此处理仍不可据此推断
与原声明完全匹配的收据按业务记录避免重复履约余额或商户净结算额
出款成功/明确失败或拒绝结清/释放原先预留的资金重新选择收款人
处理中、缺失或查询不可用保留原责任并继续调查资金已退回或无需继续处理

恢复原订单,保留未知结果

服务重启后,从已保存的原单和未完成工作继续查询,按渠道支持的原编号协议恢复。Stripe Session 支付会话只能由确定保存了渠道选择的当次处理任务创建。请求是否发送不明、调用方停止等待或进程退出后,不会仅凭重复请求标识(幂等键)自动重建会话。

缺少 Stripe Session 标识或超过渠道查询期限时,订单保留原状态并进入商户调查。运营人员可提交找回的会话标识,服务核对商户及其与原订单的关系后恢复查询或确认收款。该操作不创建新会话,也不接受人工直接指定“已付款”。

调查一笔未明交易,保留原订单与原渠道

恢复从原应用订单号及已经保存的渠道标识开始。有效通知和原单查询都可以独立提供成功证据,二者无需同时到齐;任何一条证据都必须经过同样的原字段核对,再进入条件提交。已经提交成功时,后续证据返回原收据,不产生第二次入账。

未找到记录、等待超时或支付页面失效,只说明当前观察不足。Stripe 会话标识缺失或原渠道已无法继续查询时,保留原单进入商户调查,不能用新订单、新渠道或新的收款人替换未知结果。找回候选标识后仍须验证其与原单的关系。

  • 准入条件:任一有效成功证据匹配原单

    已认证的通知或原单查询,只要满足完整核对,就可以进入同一条件提交;不要求另一条证据先到达。

  • 不能推断:超时或查询缺失即没有付款

    未知结果仍可能对应已经接受的渠道工作,不能据此重新收款、直接履约或释放出款预留。

  • 继续核对:原收据与业务交付

    交易成功和业务履约分别记录。调用方应按原业务身份检查交付结果,避免重复发货或重复增加权益。

让调查依据与账本责任清楚可见

授权运营查询可按账号、应用、状态和创建时间查看原单,并取得 CNY、USD 分开的终身成功收款与出款累计。累计值使用精确整数,重复完成不重复增加。它们既不代表余额,也不代表手续费之后的净结算;运营结果不泄露付款链接或收款人身份。

设计验证重点包括原字段逐项匹配、通知和查询同时到达、累计金额只更新一次,以及渠道已接受请求但结果尚未保存时的失败与恢复。客户端 SDK 接入工具要求业务方用自己保存的原声明比对收据和出款;证据缺失、不匹配或不可用时,不能据此履约或释放资金。