一、准备环境
1. 在PC上下载并运行Charles
2. Charles -> Tools配置
2.1. 在Rewrite 中导入下面的配置文件
将下述内容保存为文件:Rewrite_Sandbox.xml
<?xml version='1.0' encoding='UTF-8' ?>
<?charles serialisation-version='2.0' ?>
<rewriteSets>
<rewriteSet>
<active>true</active>
<name>沙箱环境url替换</name>
<hosts>
<locationPatterns>
<locationMatch>
<location>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
<path>/gateway/bnpl/tpl/loan</path>
</location>
</locationMatch>
</locationPatterns>
</hosts>
<rules>
<rewriteRule>
<active>true</active>
<ruleType>6</ruleType>
<matchValue>http://paylater-sandbox.didiglobal.com/gateway/bnpl/tpl/loan</matchValue>
<matchValueRegex>true</matchValueRegex>
<matchRequest>true</matchRequest>
<newValue>http://paylater-sandbox.didiglobal.com/freya-gateway/bnpl/tpl/loan</newValue>
<caseSensitive>false</caseSensitive>
<replaceType>2</replaceType>
</rewriteRule>
</rules>
</rewriteSet>
<rewriteSet>
<active>true</active>
<name>独立端onlink</name>
<hosts>
<locationPatterns>
<locationMatch>
<location>
<host>api.didiglobal.com</host>
<path>/\*?\*</path>
</location>
</locationMatch>
</locationPatterns>
</hosts>
<rules>
<rewriteRule>
<active>true</active>
<ruleType>7</ruleType>
<matchValue>com.didiglobal.cashloan.inhouse</matchValue>
<matchValueRegex>true</matchValueRegex>
<matchRequest>true</matchRequest>
<newValue>com.didiglobal.cashloan</newValue>
<caseSensitive>false</caseSensitive>
<replaceType>2</replaceType>
</rewriteRule>
</rules>
</rewriteSet>
</rewriteSets>
效果如下:

2.2. 在Map Remote中配置下面的内容(导入可能会报错,需要一个一个配置):
如果想尝试导入,可以将下述内容保存为文件:MapRemote_Sandbox.xml,然后导入。
<?xml version='1.0' encoding='UTF-8' ?>
<?charles serialisation-version='2.0' ?>
<map>
<mappings>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>manhattan-app.didiglobal.com</host>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>hermes.didifinance.com</host>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>pay.didiglobal.com</host>
<port>443</port>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>epassport.didiglobal.com</host>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>didi-paga-despues.didiglobal.com</host>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
<path>/gateway/bnpl/tpl/loan</path>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
<path>/freya-gateway/bnpl/tpl/loan</path>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>hermes.didiglobal.com</host>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>didi-paga-despues.didifinance.com</host>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
<mapMapping>
<sourceLocation>
<protocol>https</protocol>
<host>risk-pay.didifinance.com</host>
<port>443</port>
</sourceLocation>
<destLocation>
<protocol>http</protocol>
<host>paylater-sandbox.didiglobal.com</host>
</destLocation>
</mapMapping>
</mappings>
</map>
效果如下:

二、测试手机(必须有Google Mobile Services)配置
1. 在测试手机上安装Charles证书。
2. 安装DiDi Finanazas安装包
3. 定位模拟软件
开启开发者模式,然后设置定位:19.434351,-99.13311
三、从商户App发起支付,选择DiDi Paga Después,跳到DiDi金融App。
四、验收标准 (Acceptance Criteria)
1. 商户安装 DiDi 测试包后,发起支付请求可 100% 成功唤起 DiDi App 的原生收银台页面。
2. 在原生收银台操作成功或取消后,可无缝回跳至商户 App,商户可正常接收并解析异步/同步状态。
3. 若商户卸载 DiDi 测试包,链路可自动平滑降级至 H5 收银台,无系统级报错。