【问题标题】:Barclays ePDQ and PHP - Declined Payments?Barclays ePDQ 和 PHP - 拒绝付款?
【发布时间】:2011-10-27 22:44:46
【问题描述】:

我正在使用 Barclay 的 CPI ePDQ 系统从我的网站收款。

我已阅读文档,并在 cURL 示例中使用了相同的代码,因此我将付款发送到付款页面。

我遇到的问题分为两部分。

1. Payments are always declined
2. I have configured the post url as http://example.com/payment-response.php with an echoing out $_POST - which returns nothing

我做错了什么吗?我看到有人提到使用 .htpasswd,但我不确定。

付款/卡被拒绝似乎没有任何原因。

这是我的 cURL 请求:

$url = 'https://secure2.epdq.co.uk/cgi-bin/CcxBarclaysEpdqEncTool.e';
$params = "clientid=xxxxxx&password=xxxxxxxxx&oid=".$orderId."&chargetype=Auth&total=".$total."&currencycode=826";
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; $ch = curl_init();
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // this line makes it work under https
$result=curl_exec($ch); 

<FORM action="https://secure2.epdq.co.uk/cgi-bin/CcxBarclaysEpdq.e" method="POST">
<?php print "$result"; ?>
<INPUT type="hidden" name="returnurl" value="http://example.com/payment-response.php"> 
<INPUT type="hidden" name="merchantdisplayname" value="TEST">
<INPUT TYPE="submit" VALUE="purchase">
</FORM>

payment-response.php - var_dumping $_POST 时返回一个空白数组。

还有其他方法可以从 ePDQ 获取帖子数据吗?

谢谢

【问题讨论】:

  • 巴克莱的响应只有在设置发布到需要身份验证的网址时才有效,您设置了吗? (他们应该为此提供一个单独的配置 url;我的在 cpiadmin.epdq.co.uk 下)
  • 他们的示例代码也有一个 PHP + fsockopen 示例
  • 我有 URL 并且我已经配置了表单中的所有详细信息,即Pass-phrase:*Allowed URL:Post URL: 等。所以我需要让payment-response.php 进行身份验证?
  • 是的,例如,如果您在浏览器中访问 payment-response.php,它需要提示进行身份验证
  • 啊,好吧。如果您以前没有使用过它,仍然很难诊断。如果他们给出比“拒绝”更好的回应,那就太好了

标签: php payment-gateway payment-processing


【解决方案1】:

我必须遵循的一些步骤:

1) 下载扩展:Barclaycard ePDQ CPI 支付模块 magentocommerce.com/magento-connect/config/extension/2050/barclaycard-epdq-cpi-payment-module#releases

如果您无法使用 Magento Connect 1.0 的密钥从 freegento.com/ddl-magento-extension.php 下载。

2) 将所有应用程序复制到您的 magento 安装后,如果您有自己的模板,请确保从以下位置移动文件夹 epdq: 设计/前端/默认/模板/epdq 到: 设计/前端/你的包/默认/模板/epdq

如果您键入以下内容,您可以检查它是否在正确的位置: your-domain.com/epdq/cpi/redirect/

3) 用附件更改app/code/community/Barclaycard/Epdq/Model/Cpi.php (我只是用 Markus 和 validBen 来改变它)

4) 转到巴克莱页面添加您的网址: secure2.mde.epdq.co.uk/cgi-bin/CcxBarclaysEpdqAdminTool.e

您必须使用商家或客户 ID 以及您从巴克莱获得的凭据。

在允许的 URL 添加: your-domain.com/epdq/cpi/redirect/ 发布网址 your-domain.com/epdq/cpi/postUrl/

不要忘记最后一个“/”不在文档中。

添加您喜欢的任何密码短语

yes 中的 continue 选项以及您的密码和邮件

5) 转到模块的付款方式配置并添加您在表单中添加的相同详细信息。

6) 根据你的想法做一些决定。

我喝了一杯啤酒,在喝之前给 pachamama 滴了几滴,然后我用我从 barkleys 那里得到的信用卡详细信息来测试付款。

祝你好运

爱德华多

!如何配置ePDQ]1

【讨论】:

    【解决方案2】:

    好的,看来您需要先激活帐户。巴克莱银行默认不激活账户,所以你必须填写表格告诉他们。

    整个上午都在试图弄清楚这一点。

    可能更容易给他们打电话,因为他们可以看到对他们系统的所有请求以及您的请求产生的所有错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2020-05-28
      • 2018-08-13
      • 2015-08-31
      • 2011-02-19
      • 2014-05-09
      • 1970-01-01
      相关资源
      最近更新 更多