# wx.requestMidasFriendPayment(Object object)

接口已废弃

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

> __以 [Promise 风格](/miniprogram/dev/framework/app-service/api.md#异步-API-返回-Promise) 调用__：不支持

## 功能描述

发起米大师朋友礼物索要。接口用法详见 [小游戏礼物索要接入指南](/minigame/dev/guide/open-ability/friend-payment.md)

## 参数

### Object object


```json
[
  {
    "属性": "mode",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "支付的类型，不同的支付类型有各自额外要传的附加参数",
    "子项": [
      {
        "合法值": "game",
        "说明": "购买游戏币"
      }
    ]
  },
  {
    "属性": "env",
    "类型": "number",
    "默认值": "",
    "必填": "是",
    "说明": "环境配置",
    "子项": [
      {
        "合法值": "0",
        "说明": "米大师正式环境"
      },
      {
        "合法值": "1",
        "说明": "米大师沙箱环境"
      }
    ]
  },
  {
    "属性": "offerId",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "在米大师侧申请的应用 id"
  },
  {
    "属性": "currencyType",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "币种",
    "子项": [
      {
        "合法值": "CNY",
        "说明": "人民币"
      }
    ]
  },
  {
    "属性": "platform",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "申请接入时的平台，platform 与应用id有关。",
    "子项": [
      {
        "合法值": "android",
        "说明": "Android平台"
      }
    ]
  },
  {
    "属性": "buyQuantity",
    "类型": "number",
    "默认值": "",
    "必填": "是",
    "说明": "购买数量。mode=game 时必填。购买数量。详见 buyQuantity 限制说明。"
  },
  {
    "属性": "zoneId",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "分区 ID"
  },
  {
    "属性": "outTradeNo",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "开发者业务订单号，每个订单号只能使用一次，重复使用会失败。要求32个字符内，只能是数字、大小写字母、符号 \u0000INLINECODE_0\u0000"
  },
  {
    "属性": "nonceStr",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "随机字符串，长度应小于 128"
  },
  {
    "属性": "timeStamp",
    "类型": "number",
    "默认值": "",
    "必填": "是",
    "说明": "生成这个随机字符串的 UNIX 时间戳（精确到秒）"
  },
  {
    "属性": "signature",
    "类型": "string",
    "默认值": "",
    "必填": "是",
    "说明": "签名"
  },
  {
    "属性": "success",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用成功的回调函数"
  },
  {
    "属性": "fail",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用失败的回调函数"
  },
  {
    "属性": "complete",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用结束的回调函数（调用成功、失败都会执行）"
  }
]
```

#### object.success 回调函数
##### 参数

###### Object res

| 属性 | 类型 | 说明 |
| ---- | ---- | ---- |
| errMsg  | string | 错误信息 |
| encryptedData  | string | 包括敏感数据在内的完整转发信息的加密数据，详细见[加密数据解密算法](/minigame/dev/guide/open-ability/signature.md) |
| iv  | string | 加密算法的初始向量，详细见[加密数据解密算法](/minigame/dev/guide/open-ability/signature.md) |
| cloudID  | string | 敏感数据对应的云 ID，开通[云开发](/miniprogram/dev/wxcloudservice/wxcloud/basis/getting-started.md)的小程序才会返回，可通过云调用直接获取开放数据，详细见[云调用直接获取开放数据](/minigame/dev/guide/open-ability/signature.md#method-cloud) |

## 错误
| 错误码 | 错误信息 | 说明 |
| -- | ---- | --- |
| 1000 |  | mode错误 |
| -15005 |  | 索要权限被封禁（索要功能不可用） |
| -10073011 |  | 参数错误（具体错误见errMsg） |
| -10073003 |  | outTradeNo业务单号重复 |
| -10073012 |  | 索要单已支付 |
| -10073013 |  | 索要单已超时 |
| -10073014 |  | 签名错误 |
| -10073015 |  | 索要功能不可用 |

## 示例代码

```js
wx.requestMidasFriendPayment({
  success(res) {
    // res
    {
      errMsg: 'requestMidasFriendPayment:ok',
      encryptedData: 'xxxx',
      iv: 'xxx'
    }
  },
  fail() {

  }
})
```

encryptedData 解密后数据结构如下：

```json
{
  "outTradeNo": "xxxxxxxx",
  "orderNo": "PBgAAHMjeOhixxxx",
  "watermark": {
    "timestamp": 1585537091,
    "appid": "wx7a727ff7d940xxxx"
  }
}
```

## buyQuantity限制说明

购买游戏币的时候，buyQuantity 不可任意填写。需满足 buyQuantity * 游戏币单价 = 限定的价格等级。如：游戏币单价为 0.1 元，一次购买最少数量是 10。

有效价格等级如下：

| 价格等级（单位：人民币） |
|----------------------|
| 1 |
| 3 |
| 6 |
| 8 |
| 12 |
| 18 |
| 25 |
| 30 |
| 40 |
| 45 |
| 50 |
| 60 |
| 68 |
| 73 |
| 78 |
| 88 |
| 98 |
| 108 |
| 118 |
| 128 |
| 148 |
| 168 |
| 188 |
| 198 |
| 328 |
| 648 |
| 998 |
| 1998 |
| 2998 |
