【问题标题】:Sagepay Simulator Vendor ErrorSagepay 模拟器供应商错误
【发布时间】:2014-04-30 14:12:22
【问题描述】:

我正在尝试使用 Sagepay Server API 执行交易。我已经通过模拟器供应商帐户正确设置并添加了 IP 地址。我仍然收到以下错误

Sage Pay 返回了 MALFORMED 状态。 POST 格式错误,因为“模拟器找不到您的供应商名称。请确保您提供了一个供应商字段,并为其分配了您的供应商名称。”

这是我的 POST 请求数据

[VPSProtocol] => 2.23
[TxType] => PAYMENT
[Currency] => GBP
[Vendor] => curiouslabx
[NotificationUrl] => http://localhost:8080/numberplate/sagepay_notification
[Description] => Purchase of number plate AU59STG
[AllowGiftAid] => 0
[ApplyAVSCV2] => 0
[Apply3DSecure] => 0
[Profile] => NORMAL
[AccountType] => E
[Amount] => 700.00
[success_url] => http://localhost:8080/numberplate/payment/payment_status/success/
[failure_url] => http://localhost:8080/numberplate/payment/payment_status/failure/
[BillingFirstnames] => test
[BillingSurname] => test
[BillingAddress1] => test
[BillingAddress2] => test
[BillingCity] => testtest
[BillingPostCode] => test
[BillingCountry] => test
[BillingState] => test
[BillingPhone] => test
[DeliveryFirstnames] => test
[DeliverySurname] => test
[DeliveryAddress1] => test
[DeliveryAddress2] => test
[DeliveryCity] => testtest
[DeliveryPostCode] => test
[DeliveryCountry] => test
[DeliveryState] => test
[DeliveryPhone] => test
[VendorTxCode] => 14-04-30-20-10-53-572086512

我正在为 codeigniter https://github.com/ollierattue/codeigniter-sagepay-server/ 使用 sagepay 服务器库

【问题讨论】:

  • 我可以看到交易正在使用 FORM(昨天/今天)到达您的模拟器帐户。您的供应商名称在模拟器中有效。确保您使用的是正确的 SimulatorURL test.sagepay.com/Simulator/… 如果没有生成的模拟器帐户供应商名称不正确,则会收到错误消息。
  • 相同的供应商名称适用于 FORM 但不适用于 SERVER!
  • 使用服务器 SuccessURL,FailureURL 不适用(仅限 FORM),因为当我们通过通知 URL 响应时,您将在该阶段在您的确认帖子中提供 RedirectURL。 BillingState/DeliveryState 应为 2 个字符(ISO 代码)。需要是一个 https post 请求,发送到初始 Sage Pay Payment URL(如上)。详细信息应编码为 Name=Value 字段并用“&”字符分隔。还要确保每个字段的大小写正确。如果未找到供应商名称,请向 Sage Pay 发送 ShowPost。将支付/交易注册 URL 更改为 Showpost URL。我们将能够>
  • >> 查看您发送的内容。 Showpost URL 是test.sagepay.com/showpost/showpost.asp 好像我们无法识别供应商名称,并且选中后,您在 Simulator 帐户的帐户设置中勾选了服务器,您应该能够发布成功的服务器集成(只要您将其发送到与我们在协议指南中推荐的顺序相同。尝试 VPSProtocol,然后是 TxType,然后是 Vendor,然后是 VendorTxCode 等等......)。确保您的 IP 已添加到 Simulator 帐户,并且端口 443 和 80 也已打开,以便稍后在集成过程中使用。
  • 确保发送正确的Content-Type 标头:application/x-www-form-urlencoded。放入 POST 正文的数据数组必须经过 URL 编码。报错经常表示网关根本无法解析POST body,所以POST整体有问题。

标签: opayo


【解决方案1】:

如果您使用的是模拟器,无论如何情况都会很糟糕。它不支持协议 3.00 - 您需要在此级别进行集成,否则您的集成将在 2015 年 7 月 31 日停止运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多