当前位置: 首页 > 知识库问答 >
问题:

OmniPay与3D安全

籍光熙
2023-03-14

我试图使用omniPay为不支持的支付网关创建自定义网关。然而,我很难为我的提供商的3D安全实现创建响应类。

我看了一下sagepay,但是3D安全的响应似乎都在1个api请求中返回。

要完成3D安全支付,我需要执行以下操作:

  1. API请求检查卡是否在3D安全中注册
  2. 重定向用户(POST-Hidden Form)到一个url
  3. 验证3D安全值的API请求
  4. 付款(购买请求)

每个api请求是否需要不同的响应类?那么VerifyEnrolledResponse、VerifySigResponse和PurchaseResponse?

或者我需要这样的东西:

if ($response->isSuccessful()) {
    // payment was successful
} elseif ($response->isRedirect()) {
    // redirect to offsite payment gateway
    $response->redirect();
} elseif ($response->notEnrolled() {
    // User not enrolled in 3D secure - make auth or display error
} elseif ($response->3DSecureSuccess() {
    // Card passed 3D secure
} else {
    // payment failed: display message to customer
    echo $response->getMessage();
}

这里真的很迷茫,我想用isSuccessful()、isRedirect()等将其抽象化。非常感谢您的帮助。

文档:https://resourcecentre.globaliris.com/documents/pdf.html?id=98

共有1个答案

金赤岩
2023-03-14

看起来global iris的做法有所不同,因为它们要求您在初始费用之外单独提出3d安全请求。所以有三个步骤(请求3dsecure、验证3dsecure、付款)。

为了使事情符合全方位付费的做事方式,我将结合最后两个步骤。因此,在调用purchase()时,发出3ds verifyenrolled请求,如果请求成功,则返回重定向响应。

然后,当客户从3dsecure返回时,在您的completePurchase()方法中,首先验证3dsecure签名,然后如果签名/3dsecure成功,向其服务器发出付款请求并返回响应。

 类似资料:
  • 我有一个电子商务网站,可以重定向到使用Omnipay的Paypal express结账。它将正确地将用户重定向到Paypal,并返回一条成功的消息,其中包含PayRid和所有内容。然而,它实际上并不接受任何付款,也不会像任何付款一样出现在我们的paypal帐户上。我不确定这是paypal的问题还是Omnipay的配置问题。我可以想象Paypal会处理这一部分,但因为它不起作用(在我们的旧网站上,它

  • Omnipay 是一个PHP支付处理库。统一的API支持数十个网关。 示例代码: use Omnipay\Omnipay;$gateway = Omnipay::create('Stripe');$gateway->setApiKey('abc123');$formData = ['number' => '4242424242424242', 'expiryMonth' => '6', 'expi

  • omnipay-wechat 是 omnipay 的微信支付网关扩展,提供基于 omnipay 支付框架的微信支付接口。

  • Omnipay-pingpp 是 omnipay PHP 支付处理库的 Ping ++ 驱动程序。 Ping++ 是国内领先的聚合支付服务商,集成了包括支付宝(APP、Wap、PC、即时到账、扫码、企业付款),微信(APP、公众号、红包), 银联网关、银联企业网银、Apple Pay、QQ 钱包、易宝支付、百度钱包、京东支付、京东白条、招行一网通、分期支付等国内主流支付渠道。 Omnipay 是一

  • 我想在中集成Omnipay paypal。我经历过,但我不明白该怎么做。我没找到任何文件。我经历过这个,这个,这个。我已经使用Composer安装了它。现在我对以下问题感到困惑。 > 这里会给谁的凭据?正在购买的人或将把钱转给的人。我在哪种情况下会给别人的证书? 用户将如何进行交易?我看过它的purchase和purchasecomplete函数,但不能理解它。在正常的Paypal集成中,我们通常

  • 以下是具有null和0值的3D柱形图的示例。 我们已经在Highcharts Configuration Syntax一章中看到了用于绘制图表的配置 。 下面给出了具有null和0值的3D柱形图的示例。 配置 (Configurations) 现在让我们看一下所采取的其他配置/步骤。 chart.options3d 将图表类型配置为基于3D。 将类型设置为“列”。 这里,图表可以三维呈现。 var