【问题标题】:How to process razorpay refund in php如何在php中处理razorpay退款
【发布时间】:2019-08-02 17:42:48
【问题描述】:

官方文档说通过使用 curl 将进行退款过程。如何在 php 中实现?

curl https://api.razorpay.com/v1/payments/pay_6ydSup2U7aFMsA/refund \
   -u {KEY}:{SECRET} \
   -d 'amount=15000' \
   -d 'reverse_all=1'

输出:

{
  "id": "rfnd_6ye1vPrRFo6TdA",
  "entity": "refund",
  "amount": 15000,
  "currency": "INR",
  "payment_id": "pay_6ydSup2U7aFMsA",
  "notes": {},
  "created_at": 1482998305
}

我尝试这样的事情:-

<?php
$url="https://api.razorpay.com/v1/payments/pay_jhjhdfsjfhsdjf/refund";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'user: rzp_test_key',
  'pass: rzp_test_pass'
));
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
print_r($output);
curl_close($ch);
?>

但什么也没发生

【问题讨论】:

  • 检查您得到的响应,或者如果出现一些错误代码,请检查 API 文档和错误消息,通常会提到任何第三方提供商,

标签: php razorpay


【解决方案1】:

添加此代码并尝试我认为这是因为 ssl

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

【讨论】:

    【解决方案2】:

    我不建议使用 curl 与 Saas API 交互,最好使用 PHP 库,razorpay has one。 那么退款就是这么简单:

    $refund = $api->refund->create(array('payment_id' => $id)); // Creates refund for a payment
    $refund = $api->refund->create(array('payment_id' => $id, 'amount'=>$refundAmount)); // Creates partial refund for a payment
    $refund = $api->refund->fetch($refundId); // Returns a particular refund
    

    【讨论】:

      猜你喜欢
      • 2020-09-14
      • 1970-01-01
      • 2020-03-14
      • 2015-07-25
      • 2020-09-24
      • 2014-04-07
      • 2019-04-09
      • 2020-01-06
      • 1970-01-01
      相关资源
      最近更新 更多