注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > YunOS开放平台

云支付开发测试验收规范

更新时间:2016/04/12 访问次数:6913

名词说明

  1. 用户:最终用户,app使用者
  2. 开发者客户端:开发者开发的app,提供给最终用户使用
  3. 开发者服务端:开发者自己的服务端,处理客户端的请求,比如创建订单等
  4. 手机云支付模块: 提供yunos支付能力给开发者的SDK或相关接口
  5. 云支付服务端:yunos支付自己的服务端
  6. 第三方支付手机模块:除了支付宝之外的第3方支付
  7. 第三方支付服务端: 手机第三方支付对应的服务端

测试验收内容

  1. 正常购买支付(支付宝客户端支付)

    前提条件:
    1. 网络正常,手机安装了支付宝客户端

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 核对金额,确认支付

    预期结果:
    1. 第3步能够正确调起支付宝模块
    2. 第5步确认支付后支付成功,返回上一页面

  2. 正常购买支付(支付宝H5页面支付)

    前提条件:
    1. 网络正常,手机未安装支付宝客户端

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块(支付宝H5页面)
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 核对金额,确认支付

    预期结果:
    1. 第3步能够正确调起支付宝H5页面
    1. 第5步确认支付后支付成功,返回上一页面

  3. 支付过程中,用户取消支付(支付宝客户端方式)

    前提条件:
    1. 网络正常,手机已经安装支付宝客户端

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块(支付宝客户端)
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 调起之后,放弃付款

    预期结果:
    1. 第4步返回上一页面,并且能够给用户正确提示

  4. 支付过程中,用户取消支付(支付宝H5方式)

    前提条件:
    1. 网络正常,手机未安装支付宝客户端

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块(支付宝H5页面)
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 调起之后,放弃付款

    预期结果:
    1. 第5步返回上一页面,并且能够给用户正确提示

  5. 订单支付成功,调用云支付SDK,查询订单状态

    前提条件:
    1. 网络正常
    2. 用户成功购买了商品,并且支付成功

    步骤:
    1. 用户通过客户端成功购买了商品
    2. 找到该笔订单
    3. 查询该笔订单支付状态

    预期结果:
    1. 可以查询到,并且返回支付成功(PAY_SUCCESS)

  6. 订单已经关闭,调用云支付SDK,查询订单状态

    前提条件:
    1. 网络正常

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 调起之后,放弃付款
    6. 等待超过20分钟,查询该笔订单支付状态

    预期结果:
    1. 可以查询到,并且返回订单已经关闭(PAY_CLOSED)

  7. 订单在20分钟之内未支付,调用云支付SDK,查询订单状态

    前提条件:
    1. 网络正常

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 调起之后,放弃付款
    6. 在20分钟之内,查询该笔订单支付状态

    预期结果:
    1. 可以查询到,并且返回订单等待支付(WAIT_PAY)

  8. 测试异步通知地址在支付成功后能够接收到消息

    前提条件:
    1. 网络正常
    2. 客户端配置了异步通知地址,并且该地址可以正常访问
    3. 开发者在云支付后台设置安全域名为异步通知地址

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 调起之后,确认支付成功

    预期结果:
    1. 异步通知地址可以接受到消息

  9. 测试异步通知地址在支付成功后,接收到消息能够通过签名验证正确

    前提条件:
    1. 网络正常
    2. 客户端配置了异步通知地址,并且该地址可以正常访问
    3. 开发者在云支付后台设置安全域名为异步通知地址

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付(使用默认支付宝支付)
    3. 调起支付宝手机支付模块
    4. 登陆支付宝(如果已经登陆,跳过)
    5. 调起之后,确认支付成功

    预期结果:
    1. 异步通知地址可以接受到消息
    2. 使用接收到的签名可以对接收到的消息签名验证,验证正确

  10. 支付支持添加新的支付方式

    前提条件:
    1. 网络正常
    2. 开发者在云支付后台进行了新的支付方式申请
    3. 开发者根据支付开发者文档进行新的支付方式的添加

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付
    3. 弹出支付方式的选择框
    4. 选择新的支付方式确认

    预期结果:
    1. 第3步可以看到新的支付方式可以选择
    2. 第4步确认可以进入第三方支付手机模块

  11. 新的支付方式能够成功支付

    前提条件:
    1. 网络正常
    2. 开发者在云支付后台进行了新的支付方式申请
    3. 开发者根据支付开发者文档进行新的支付方式的添加

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付
    3. 选择新的支付方式并确认
    4. 进入第三方支付手机模块
    5. 在第三方支付手机模块确认支付成功

    预期结果:
    1. 确认云支付接口返回code: 9000
    2. 确认程序正常运行

  12. 新的支付方式支付失败后,返回的结果符合预期

    前提条件:
    1. 网络正常
    2. 开发者在云支付后台进行了新的支付方式申请
    3. 开发者根据支付开发者文档进行新的支付方式的添加

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付
    3. 选择新的支付方式并确认
    4. 进入第三方支付手机模块
    5. 在第三方支付手机模块支付失败

    预期结果:
    1. 确认云支付接口返回code: 不等于9000
    2. 确认程序正常运行

  13. 新的支付方式,取消支付,返回的结果符合预期

    前提条件:
    1. 网络正常
    2. 开发者在云支付后台进行了新的支付方式申请
    3. 开发者根据支付开发者文档进行新的支付方式的添加

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付
    3. 选择新的支付方式并确认
    4. 进入第三方支付手机模块
    5. 在第三方支付手机模块,取消支付

    预期结果:
    1. 确认云支付接口返回code: 不等于9000
    2. 确认程序正常运行

  14. 支持将"从服务端获取订单" 封装到ICreator中,创建订单成功,用户能够完成支付

    前提条件:
    1. 网络正常
    2. 开发者根据支付开发者文档,进行从服务端获取订单的封装

    步骤:
    1. 用户通过客户端购买商品创建订单成功
    2. 发起支付
    3. 选择支付方式
    4. 进入支付页面
    5. 支付页面确认支付成功

    预期结果:
    1. 可以正常完成支付
    2. 确认程序正常运行

  15. 支持将"从服务端获取订单" 封装到ICreator中,创建订单失败,支付以失败结束

    前提条件:
    1. 网络正常
    2. 开发者根据支付开发者文档,进行从服务端获取订单的封装
    3. 通过服务端创建失败

    步骤:
    1. 用户通过客户端购买商品
    2. 发起支付
    3. 服务端创建订单失败

    预期结果:
    1. 支付以失败结束

    名词说明

    1. 用户:最终用户,app使用者
    2. 开发者客户端:开发者开发的app,提供给最终用户使用
    3. 开发者服务端:开发者自己的服务端,处理客户端的请求,比如创建订单等
    4. 手机云支付模块: 提供yunos支付能力给开发者的SDK或相关接口
    5. 云支付服务端:yunos支付自己的服务端
    6. 第三方支付手机模块:除了支付宝之外的第3方支付
    7. 第三方支付服务端: 手机第三方支付对应的服务端

    测试验收内容

    1. 正常购买支付(支付宝客户端支付)

      前提条件:
      1. 网络正常,手机安装了支付宝客户端

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 核对金额,确认支付

      预期结果:
      1. 第3步能够正确调起支付宝模块
      2. 第5步确认支付后支付成功,返回上一页面

    2. 正常购买支付(支付宝H5页面支付)

      前提条件:
      1. 网络正常,手机未安装支付宝客户端

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块(支付宝H5页面)
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 核对金额,确认支付

      预期结果:
      1. 第3步能够正确调起支付宝H5页面
      1. 第5步确认支付后支付成功,返回上一页面

    3. 支付过程中,用户取消支付(支付宝客户端方式)

      前提条件:
      1. 网络正常,手机已经安装支付宝客户端

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块(支付宝客户端)
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 调起之后,放弃付款

      预期结果:
      1. 第4步返回上一页面,并且能够给用户正确提示

    4. 支付过程中,用户取消支付(支付宝H5方式)

      前提条件:
      1. 网络正常,手机未安装支付宝客户端

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块(支付宝H5页面)
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 调起之后,放弃付款

      预期结果:
      1. 第5步返回上一页面,并且能够给用户正确提示

    5. 订单支付成功,调用云支付SDK,查询订单状态

      前提条件:
      1. 网络正常
      2. 用户成功购买了商品,并且支付成功

      步骤:
      1. 用户通过客户端成功购买了商品
      2. 找到该笔订单
      3. 查询该笔订单支付状态

      预期结果:
      1. 可以查询到,并且返回支付成功(PAY_SUCCESS)

    6. 订单已经关闭,调用云支付SDK,查询订单状态

      前提条件:
      1. 网络正常

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 调起之后,放弃付款
      6. 等待超过20分钟,查询该笔订单支付状态

      预期结果:
      1. 可以查询到,并且返回订单已经关闭(PAY_CLOSED)

    7. 订单在20分钟之内未支付,调用云支付SDK,查询订单状态

      前提条件:
      1. 网络正常

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 调起之后,放弃付款
      6. 在20分钟之内,查询该笔订单支付状态

      预期结果:
      1. 可以查询到,并且返回订单等待支付(WAIT_PAY)

    8. 测试异步通知地址在支付成功后能够接收到消息

      前提条件:
      1. 网络正常
      2. 客户端配置了异步通知地址,并且该地址可以正常访问
      3. 开发者在云支付后台设置安全域名为异步通知地址

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 调起之后,确认支付成功

      预期结果:
      1. 异步通知地址可以接受到消息

    9. 测试异步通知地址在支付成功后,接收到消息能够通过签名验证正确

      前提条件:
      1. 网络正常
      2. 客户端配置了异步通知地址,并且该地址可以正常访问
      3. 开发者在云支付后台设置安全域名为异步通知地址

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付(使用默认支付宝支付)
      3. 调起支付宝手机支付模块
      4. 登陆支付宝(如果已经登陆,跳过)
      5. 调起之后,确认支付成功

      预期结果:
      1. 异步通知地址可以接受到消息
      2. 使用接收到的签名可以对接收到的消息签名验证,验证正确

    10. 支付支持添加新的支付方式

      前提条件:
      1. 网络正常
      2. 开发者在云支付后台进行了新的支付方式申请
      3. 开发者根据支付开发者文档进行新的支付方式的添加

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付
      3. 弹出支付方式的选择框
      4. 选择新的支付方式确认

      预期结果:
      1. 第3步可以看到新的支付方式可以选择
      2. 第4步确认可以进入第三方支付手机模块

    11. 新的支付方式能够成功支付

      前提条件:
      1. 网络正常
      2. 开发者在云支付后台进行了新的支付方式申请
      3. 开发者根据支付开发者文档进行新的支付方式的添加

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付
      3. 选择新的支付方式并确认
      4. 进入第三方支付手机模块
      5. 在第三方支付手机模块确认支付成功

      预期结果:
      1. 确认云支付接口返回code: 9000
      2. 确认程序正常运行

    12. 新的支付方式支付失败后,返回的结果符合预期

      前提条件:
      1. 网络正常
      2. 开发者在云支付后台进行了新的支付方式申请
      3. 开发者根据支付开发者文档进行新的支付方式的添加

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付
      3. 选择新的支付方式并确认
      4. 进入第三方支付手机模块
      5. 在第三方支付手机模块支付失败

      预期结果:
      1. 确认云支付接口返回code: 不等于9000
      2. 确认程序正常运行

    13. 新的支付方式,取消支付,返回的结果符合预期

      前提条件:
      1. 网络正常
      2. 开发者在云支付后台进行了新的支付方式申请
      3. 开发者根据支付开发者文档进行新的支付方式的添加

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付
      3. 选择新的支付方式并确认
      4. 进入第三方支付手机模块
      5. 在第三方支付手机模块,取消支付

      预期结果:
      1. 确认云支付接口返回code: 不等于9000
      2. 确认程序正常运行

    14. 支持将"从服务端获取订单" 封装到ICreator中,创建订单成功,用户能够完成支付

      前提条件:
      1. 网络正常
      2. 开发者根据支付开发者文档,进行从服务端获取订单的封装

      步骤:
      1. 用户通过客户端购买商品创建订单成功
      2. 发起支付
      3. 选择支付方式
      4. 进入支付页面
      5. 支付页面确认支付成功

      预期结果:
      1. 可以正常完成支付
      2. 确认程序正常运行

    15. 支持将"从服务端获取订单" 封装到ICreator中,创建订单失败,支付以失败结束

      前提条件:
      1. 网络正常
      2. 开发者根据支付开发者文档,进行从服务端获取订单的封装
      3. 通过服务端创建失败

      步骤:
      1. 用户通过客户端购买商品
      2. 发起支付
      3. 服务端创建订单失败

      预期结果:
      1. 支付以失败结束

FAQ

关于此文档暂时还没有FAQ
返回
顶部