Antom, leading provider of tailored payment solutionsAntom, leading provider of tailored payment solutions

模拟服务

模拟服务(mock service)用于提供不同支付结果的模拟,让您提前熟悉可能的支付场景。通过沙箱环境中提供的模拟场景,您可以测试不同响应类型的支付失败流程,并学习处理异常场景。模拟服务旨在优化您的异常处理能力,从而以更低的集成成本和更好的用户体验提高您的支付宝集成质量。在模拟服务诞生之前,许多异常场景很难模拟,甚至不可能模拟。使用mock服务,您可以为所有场景运行测试用例,并查看响应是否与设计的一样。除了默认的模拟规则之外,还可以根据业务需求为异常场景自定义模拟规则。目前,模拟服务支持付款、取消、退款和查询的过程。

如何使用模拟服务

在使用模拟服务之前,您需要有一个支付宝商户帐户。如果您还没有支付宝商户账户,请通过支付宝门户进行注册。获取到您的支付宝商户账户之后,请按照以下步骤体验模拟服务:

  1. 参考配置模拟服务视频教程进行模拟服务配置。目前,模拟服务支持以下4个接口的模拟:
  • alipay.acquire.oversears.spot.pay
  • alipay.acquire.cancel
  • alipay.acquire.overseas.spot.refund
  • alipay.acquire.overseas.query

下图展示了模拟服务的使用界面:

模拟服务

  1. 指定API请求及其相应的响应来配置模拟规则。每个API存在两种类型的模拟规则:默认规则和自定义规则:
  • 默认规则适用于所有沙箱测试帐户。您不需要进行任何配置,默认规则即可生效。
  • 自定义规则是可以根据业务需求指定条件和预期响应的规则。

下图展示了模拟服务中设置规则的界面:

模拟服务

  1. 发送与指定模拟规则匹配的API请求。您将收到相应的模拟响应,然后对其进行处理。例如,您可以使用以下模拟规则发送alipay.acquire.overseas.spot.pay请求。有关详细信息,请参见下面的示例代码和相应的模拟响应。默认模拟规则如下:

模拟服务

示例

请求

copy
http://mapi.alipaydev.com/gateway.do?biz_product=OVERSEAS_MBARCODE_PAY&identity_code_type=barcode&_input_charset=utf-8&sign=bKTQrOiOZ2tyyDQjn%2BSa9cE9BytEJhunOWCCUJdSJVedsnfMX4gh3HYLNpvue1kJ6PG9e23kc4%2BvVro5g1DPRRuBPt6jdDEfx1aIUYWKoPE%2FgAeBsgQTAjLq1paMVdyLumFB9JseE%2FwZBjrCoca9Q3CaGpZkr%2B8jt%2FDYsIgYMOA%3D&trans_name=xxxzgl&trans_amount=9901&notify_url=http%253A%252F%252Falipay.com&extend_info=%7B%22secondary_merchant_name%22%3A%22MNAME006%22%2C%22secondary_merchant_id%22%3A%22MID0071525932232000%22%2C%22secondary_merchant_industry%22%3A%225300%22%2C%22store_id%22%3A%22SID0071525932232000%22%2C%22store_name%22%3A%22store1525932232000%22%7D&partner_trans_id=620923196607215160_1588066245285&trans_currency=USD&partner=2088621893731583&service=alipay.acquire.overseas.spot.pay&currency=USD&buyer_identity_code=286865667671986813&sign_type=RSA

返回

copy
<?xml version="1.0" encoding="utf-8"?>
<alipay>
    <is_success>T</is_success>
    <request>
        <param name="biz_product">OVERSEAS_MBARCODE_PAY</param>
        <param name="identity_code_type">barcode</param>
        <param name="_input_charset">utf-8</param>
        <param name="sign">bKTQrOiOZ2tyyDQjn+Sa9cE9BytEJhunOWCCUJdSJVedsnfMX4gh3HYLNpvue1kJ6PG9e23kc4+vVro5g1DPRRuBPt6jdDEfx1aIUYWKoPE/gAeBsgQTAjLq1paMVdyLumFB9JseE/wZBjrCoca9Q3CaGpZkr+8jt/DYsIgYMOA=</param>
        <param name="trans_name">xxxzgl</param>
        <param name="trans_amount">9901</param>
        <param name="notify_url">http%3A%2F%2Falipay.com</param>
        <param name="extend_info">{"secondary_merchant_name":"MNAME006","secondary_merchant_id":"MID0071525932232000","secondary_merchant_industry":"5300","store_id":"SID0071525932232000","store_name":"store1525932232000"}</param>
        <param name="partner_trans_id">620923196607215160_1588066245285</param>
        <param name="trans_currency">USD</param>
        <param name="partner">2088621893731583</param>
        <param name="service">alipay.acquire.overseas.spot.pay</param>
        <param name="currency">USD</param>
        <param name="buyer_identity_code">286865667671986813</param>
        <param name="sign_type">RSA</param>
    </request>
    <response>
        <alipay>
            <error>SYSTEM_ERROR</error>
            <result_code>FAILED</result_code>
        </alipay>
    </response>
    <sign>LZFwCkhvJdwcd7AaIhbCBHe37nFJrhDXomldutoMI0sCzbz+us99GiOJ6p7FZhwCsB5pavYaPlyKg3NU14Ixwqtv+jxKaYC6U1ACc38tg4XYR92YHye16JmitAe5vExJx/vNDAd54VnYX5vs4ztTuJkLI4iuPl4w/eKNr5JcuB4=</sign>
    <sign_type>RSA</sign_type>
</alipay>