Skip to content

申请退款

当交易发生之后一年内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付金额退还给买家,微信支付将在收到退款请求并且验证成功之后,将支付款按原路退还至买家账号上。

请求参数类型描述
jsonobject声明请求的JSON数据结构
sub_mchidstring子商户号
transaction_idstring微信支付订单号
out_trade_nostring商户订单号
out_refund_nostring商户退款单号
reasonstring退款原因
notify_urlstring退款结果回调url
funds_accountstring退款资金来源
amountobject金额信息
refundinteger退款金额
fromobject[]退款出资账户及金额
accountstring出资账户类型
amountinteger出资金额
totalinteger原订单金额
currencystring退款币种
goods_detailobject[]退款商品
merchant_goods_idstring商户侧商品编码
wechatpay_goods_idstring微信侧商品编码
goods_namestring商品名称
unit_priceinteger商品单价
refund_amountinteger商品退款金额
refund_quantityinteger商品退货数量
php
$instance->v3->refund->domestic->refunds->postAsync([
  'json' => [
    'sub_mchid'      => '1900000109',
    'transaction_id' => '1217752501201407033233368018',
    'out_trade_no'   => '1217752501201407033233368018',
    'out_refund_no'  => '1217752501201407033233368018',
    'reason'         => '商品已售完',
    'notify_url'     => 'https://weixin.qq.com',
    'funds_account'  => 'AVAILABLE',
    'amount'         => [
      'refund'   => 888,
      'from'     => [[
        'account' => 'AVAILABLE',
        'amount'  => 444,
      ],],
      'total'    => 888,
      'currency' => 'CNY',
    ],
    'goods_detail'   => [[
      'merchant_goods_id'  => '1217752501201407033233368018',
      'wechatpay_goods_id' => '1001',
      'goods_name'         => 'iPhone6s 16G',
      'unit_price'         => 528800,
      'refund_amount'      => 528800,
      'refund_quantity'    => 1,
    ],],
  ],
])
->then(static function(\Psr\Http\Message\ResponseInterface $response) {
  print_r(json_decode((string) $response->getBody(), true));
})
->wait();
php
$instance->chain('v3/refund/domestic/refunds')->postAsync([
  'json' => [
    'sub_mchid'      => '1900000109',
    'transaction_id' => '1217752501201407033233368018',
    'out_trade_no'   => '1217752501201407033233368018',
    'out_refund_no'  => '1217752501201407033233368018',
    'reason'         => '商品已售完',
    'notify_url'     => 'https://weixin.qq.com',
    'funds_account'  => 'AVAILABLE',
    'amount'         => [
      'refund'   => 888,
      'from'     => [[
        'account' => 'AVAILABLE',
        'amount'  => 444,
      ],],
      'total'    => 888,
      'currency' => 'CNY',
    ],
    'goods_detail'   => [[
      'merchant_goods_id'  => '1217752501201407033233368018',
      'wechatpay_goods_id' => '1001',
      'goods_name'         => 'iPhone6s 16G',
      'unit_price'         => 528800,
      'refund_amount'      => 528800,
      'refund_quantity'    => 1,
    ],],
  ],
])
->then(static function(\Psr\Http\Message\ResponseInterface $response) {
  print_r(json_decode((string) $response->getBody(), true));
})
->wait();
php
$instance['v3/refund/domestic/refunds']->postAsync([
  'json' => [
    'sub_mchid'      => '1900000109',
    'transaction_id' => '1217752501201407033233368018',
    'out_trade_no'   => '1217752501201407033233368018',
    'out_refund_no'  => '1217752501201407033233368018',
    'reason'         => '商品已售完',
    'notify_url'     => 'https://weixin.qq.com',
    'funds_account'  => 'AVAILABLE',
    'amount'         => [
      'refund'   => 888,
      'from'     => [[
        'account' => 'AVAILABLE',
        'amount'  => 444,
      ],],
      'total'    => 888,
      'currency' => 'CNY',
    ],
    'goods_detail'   => [[
      'merchant_goods_id'  => '1217752501201407033233368018',
      'wechatpay_goods_id' => '1001',
      'goods_name'         => 'iPhone6s 16G',
      'unit_price'         => 528800,
      'refund_amount'      => 528800,
      'refund_quantity'    => 1,
    ],],
  ],
])
->then(static function(\Psr\Http\Message\ResponseInterface $response) {
  print_r(json_decode((string) $response->getBody(), true));
})
->wait();
php
$response = $instance->v3->refund->domestic->refunds->post([
  'json' => [
    'sub_mchid'      => '1900000109',
    'transaction_id' => '1217752501201407033233368018',
    'out_trade_no'   => '1217752501201407033233368018',
    'out_refund_no'  => '1217752501201407033233368018',
    'reason'         => '商品已售完',
    'notify_url'     => 'https://weixin.qq.com',
    'funds_account'  => 'AVAILABLE',
    'amount'         => [
      'refund'   => 888,
      'from'     => [[
        'account' => 'AVAILABLE',
        'amount'  => 444,
      ],],
      'total'    => 888,
      'currency' => 'CNY',
    ],
    'goods_detail'   => [[
      'merchant_goods_id'  => '1217752501201407033233368018',
      'wechatpay_goods_id' => '1001',
      'goods_name'         => 'iPhone6s 16G',
      'unit_price'         => 528800,
      'refund_amount'      => 528800,
      'refund_quantity'    => 1,
    ],],
  ],
]);
print_r(json_decode((string) $response->getBody(), true));
php
$response = $instance->chain('v3/refund/domestic/refunds')->post([
  'json' => [
    'sub_mchid'      => '1900000109',
    'transaction_id' => '1217752501201407033233368018',
    'out_trade_no'   => '1217752501201407033233368018',
    'out_refund_no'  => '1217752501201407033233368018',
    'reason'         => '商品已售完',
    'notify_url'     => 'https://weixin.qq.com',
    'funds_account'  => 'AVAILABLE',
    'amount'         => [
      'refund'   => 888,
      'from'     => [[
        'account' => 'AVAILABLE',
        'amount'  => 444,
      ],],
      'total'    => 888,
      'currency' => 'CNY',
    ],
    'goods_detail'   => [[
      'merchant_goods_id'  => '1217752501201407033233368018',
      'wechatpay_goods_id' => '1001',
      'goods_name'         => 'iPhone6s 16G',
      'unit_price'         => 528800,
      'refund_amount'      => 528800,
      'refund_quantity'    => 1,
    ],],
  ],
]);
print_r(json_decode((string) $response->getBody(), true));
php
$response = $instance['v3/refund/domestic/refunds']->post([
  'json' => [
    'sub_mchid'      => '1900000109',
    'transaction_id' => '1217752501201407033233368018',
    'out_trade_no'   => '1217752501201407033233368018',
    'out_refund_no'  => '1217752501201407033233368018',
    'reason'         => '商品已售完',
    'notify_url'     => 'https://weixin.qq.com',
    'funds_account'  => 'AVAILABLE',
    'amount'         => [
      'refund'   => 888,
      'from'     => [[
        'account' => 'AVAILABLE',
        'amount'  => 444,
      ],],
      'total'    => 888,
      'currency' => 'CNY',
    ],
    'goods_detail'   => [[
      'merchant_goods_id'  => '1217752501201407033233368018',
      'wechatpay_goods_id' => '1001',
      'goods_name'         => 'iPhone6s 16G',
      'unit_price'         => 528800,
      'refund_amount'      => 528800,
      'refund_quantity'    => 1,
    ],],
  ],
]);
print_r(json_decode((string) $response->getBody(), true));
返回字典类型描述
refund_idstring微信支付退款号
out_refund_nostring商户退款单号
transaction_idstring微信支付订单号
out_trade_nostring商户订单号
channelstring退款渠道
user_received_accountstring退款入账账户
success_timestring退款成功时间
create_timestring退款创建时间
statusstring退款状态
funds_accountstring资金账户
amountobject金额信息
totalinteger订单金额
refundinteger退款金额
fromobject[]退款出资账户及金额
accountstring出资账户类型
amountinteger出资金额
payer_totalinteger用户支付金额
payer_refundinteger用户退款金额
settlement_refundinteger应结退款金额
settlement_totalinteger应结订单金额
discount_refundinteger优惠退款金额
currencystring退款币种
refund_feenumber手续费退款金额
promotion_detailobject[]优惠退款信息
promotion_idstring券ID
scopestring优惠范围
typestring优惠类型
amountinteger优惠券面额
refund_amountinteger优惠退款金额
goods_detailobject[]商品列表
merchant_goods_idstring商户侧商品编码
wechatpay_goods_idstring微信侧商品编码
goods_namestring商品名称
unit_priceinteger商品单价
refund_amountinteger商品退款金额
refund_quantityinteger商品退货数量

参阅 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档 官方文档

Published on the GitHub by TheNorthMemory