Paypal Payflow 退款问题

Posted

技术标签:

【中文标题】Paypal Payflow 退款问题【英文标题】:Paypal Payflow refund issue 【发布时间】:2014-10-18 14:32:12 【问题描述】:

您好,我正在尝试为 paypal payflow 创建退款功能。

这是创建的代码。

public function refund()

    $this->load->helper('paypal_helper');
    $request = array(
        "PARTNER"           => PARTNER,
        "VENDOR"            => VENDOR,
        "USER"              => USER,
        "PWD"               => PWD, 
        "TRXTYPE"           => 'C',
        "AMT"               => '11',
        "CURRENCY"          => CURRENCY,
        "CREATESECURETOKEN" => "N",
        "SECURETOKENID"     => uniqid('213'.time()),
        "RETURNURL"         => site_url().'test/refund',
        "CANCELURL"         => site_url().'test/refund',
        "ERRORURL"          => site_url().'test/refund',
        "ORIGID"            => 'A70A6DBF0A8C'
    );
    $response = run_payflow_call($request);
    printr($response);
    return $response;

这里的ORGID设置为我付款成功后得到的PNREF。

$response = run_payflow_call($request); 在帮助程序中定义,它只是将详细信息发布到https://pilot-payflowpro.paypal.com/(沙箱)。但是在采取行动之后,我得到了这样的结果 [RESULT] => 23 [PNREF] => A1X06F928D52 [RESPMSG] => Invalid account number

谁能告诉我为什么会这样??

我也在购买部分使用相同的“合作伙伴”“供应商”“用户”。但在购买一切顺利。我得到了成功报告和正确记入的​​金额。

【问题讨论】:

【参考方案1】:

要使用 Payflow 退款交易,您只需传递以下参数:

TRXTYPE =C(信用值为“C”)

TENDER =C(如果使用信用卡付款,则值为“C”;如果使用 PayPal 付款,则值为“P”)

ORIGID = A70A6DBF0A8C(要退款的ID)

AMT = 可选参数(如未提供全额退款)

退款时不需要安全令牌。

【讨论】:

假设我在请求中传递了 ORGID,paypal 是否默认使用该帐户(与付款相同的帐户)?或者我需要通过帐户 ACCT 和 EXPDATE ?? 是的,PayPal 将自动退还到最初付款的账户。所以不需要明确传递任何信用卡相关信息。

以上是关于Paypal Payflow 退款问题的主要内容,如果未能解决你的问题,请参考以下文章

PayPal 订阅 - 跟踪退款

RoR - PayPal ActiveMerchant - 退款

Magento 1.7.0.2 退款不与 PayPal 同步

PayPal 自适应付款退款问题

PayPal REST API - 已退款交易错误

PayPal:从付款中退款