You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Razorpay转账API遇权限错误,请求协助排查

Razorpay 拆分支付API调用报错排查(BAD_REQUEST_ERROR)

我需要实现向供应商与平台方拆分支付的功能,调用Razorpay的https://api.razorpay.com/v1/payments/<tr_id>/transfers API时,收到错误提示:"This operation is not allowed. Please contact Razorpay support for details.",错误代码为BAD_REQUEST_ERROR,请求协助排查问题。

请求参数示例

{
  "transfers": [
    {
      "account": "acc_...",
      "amount": 1620,
      "currency": "INR",
      "notes": {
        "order_id": "3376",
        "transaction_id": "pay_....."
      },
      "linked_account_notes": [
        "order_id",
        "transaction_id"
      ],
      "on_hold": true,
      "on_hold_until": 1711516716
    }
  ]
}

响应内容示例

{
  "error": {
    "code": "BAD_REQUEST_ERROR",
    "description": "This operation is not allowed. Please contact Razorpay support for details.",
    "source": "NA",
    "step": "NA",
    "reason": "NA",
    "metadata": {
      
    }
  }
}

PHP调用代码

global $razorpay_secret;
$api_url = "https://api.razorpay.com/v1/payments/$transaction_id/transfers";

$data = array(
    'transfers' => $payments
);
$post_data = json_encode($data);
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $api_url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => $post_data,
    CURLOPT_HTTPHEADER => array(
        'Authorization: Basic ' . base64_encode($razorpay_key_id . ':' . $razorpay_secret),
        "Content-Type: application/json"
    ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
$res = json_decode($response);

排查方向

  • 账户权限限制:你的Razorpay账户可能未开通拆分支付(Transfers)功能,或该功能被平台限制,需联系Razorpay支持确认权限状态。
  • 交易状态不符:目标交易(tr_id对应的支付)可能未处于captured状态,或已完成过拆分操作,只有已成功捕获且未拆分的交易才能执行该API。
  • 关联账户有效性:检查account字段的acc_...是否为已正确关联到主账户的有效子账户,且账户状态正常。
  • 参数合法性校验:确认on_hold_until时间戳为未来有效时间,amount符合平台拆分金额限制(如印度卢比的最小拆分额度),currency与原交易币种一致。
  • 认证与API版本问题:核对$razorpay_key_id和$razorpay_secret是否正确,认证头生成无误;同时确认使用的API版本支持该拆分操作。

内容的提问来源于stack exchange,提问作者sanjay solanki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:58:27