# wx.requestOrderPayment(Object args)

> 基础库 2.16.0 开始支持，低版本需做[兼容处理](1003706)。

> __以 [Promise 风格](/miniprogram/dev/framework/app-service/api.md#异步-API-返回-Promise) 调用__：支持
> 
> __小程序插件__：不支持
> 
> __微信 鸿蒙 OS 版__：支持

## 功能描述

仅接入了[自定义版交易组件](/miniprogram/dev/framework/ministore/minishopopencomponent2/Introduction2)的小程序需要使用，普通小程序可直接使用 [`wx.requestPayment`](/miniprogram/dev/api/payment/wx.requestPayment)。

## 参数

### Object args


```json
[
  {
    "属性": "timeStamp",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "时间戳，从 1970 年 1 月 1 日 00:00:00 至今的秒数，即当前的时间"
  },
  {
    "属性": "nonceStr",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "随机字符串，长度为32个字符以下"
  },
  {
    "属性": "package",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "统一下单接口返回的 prepay_id 参数值，提交格式如：prepay_id=***"
  },
  {
    "属性": "paySign",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "签名，具体见微信支付文档"
  },
  {
    "属性": "signType",
    "类型": "string",
    "默认值": "MD5",
    "必填": "否",
    "说明": "签名算法，应与后台下单时的值一致",
    "子项": [
      {
        "合法值": "MD5",
        "说明": "仅在 v2 版本接口适用"
      },
      {
        "合法值": "HMAC-SHA256",
        "说明": "仅在 v2 版本接口适用"
      },
      {
        "合法值": "RSA",
        "说明": "仅在 v3 版本接口适用"
      }
    ]
  },
  {
    "属性": "success",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用成功的回调函数"
  },
  {
    "属性": "fail",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用失败的回调函数"
  },
  {
    "属性": "complete",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用结束的回调函数（调用成功、失败都会执行）"
  }
]
```

## 示例代码

```javascript

// 除 orderInfo 以外，其余字段与 wx.requestPayment 一致
wx.requestOrderPayment({
  orderInfo: {},
  timeStamp: '',
  nonceStr: '',
  package: '',
  signType: 'MD5',
  paySign: '',
  success (res) { },
  fail (res) { }
})

```

## 前置检查

接入自定义版交易组件之后，若要发起微信支付，请先查询[需要校验的场景](/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/check_scene)。
在需要校验的场景中，发起微信支付时，必须使用该接口，需要按照要求传入相关的[订单信息](/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/add_order)进行校验，校验通过后用户才可以完成当前订单的支付，非需要校验的场景则可以按照商家要求自行选择传入订单信息或不传入。
