0

目前,我想使用 FoxyCart 来处理我网站的购物车和结帐过程。背后的支付网关是 Stripe。我实际上正在使用条带提供的卡号进行结帐测试。

这是我填写的: 在此处输入图像描述

我正在努力使事情正常进行,但是.....

当我完成结帐表格并单击结帐按钮时,会出现此消息:

错误:由于以下原因,您的付款被拒绝:将信用卡号直接发送到 Stripe API 通常是不安全的。我们建议您使用映射到您正在使用的测试卡的测试令牌,请参阅https://stripe.com/docs/testing

Stripe 告诉我他们拒绝了我的请求: 在此处输入图像描述

我不太明白如何使用他们建议的测试令牌进行结帐测试。有什么可以帮助我的吗?我只是想让它工作。如果您有其他解决方案,请随时给我其他解决方案。

这些是我到目前为止所做的:

结帐.pug

extends ../../layouts/layout-checkout

block content
  // link example
  a(href='https://playground.foxycart.com/cart?name=Cool%20Example&price=10&color=red&code=sku123') Add a red Cool Example
  // form example
  form(action='https://whre-playground2.foxycart.com/cart', method='post', accept-charset='utf-8')
    input(type='hidden', name='name', value='Cool Example')
    input(type='hidden', name='price', value='10')
    input(type='hidden', name='code', value='sku123')
    label.label_left Size
    select(name='size')
      option(value='small') Small
      option(value='medium') Medium
      option(value='large') Large
    input.submit(type='submit', value='Add a Cool Example')

doctype html

布局结帐.pug

html(lang="en")
  head
    //include ../scripts/meta/HeadTags.pug
    block title
    link(rel='stylesheet', href='/dist/css/whre.css')/
    include ../scripts/meta/GAnalytics.pug


  body


    block content

    script(src='/dist/js/bundle.min.js')
    script(data-cfasync='false', src='https://cdn.foxycart.com/playground/loader.js', async='', defer='')
    include ../scripts/Hotjar.pug
    block extraScripts

结帐.js

var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res, next) {
    res.render('pages/main/Checkout');
});

module.exports = router;
4

1 回答 1

0

当您直接在 API 服务器端发送卡详细信息而不是标记化时,会出现此错误消息。这通常具有一些 PCI 合规性影响,因此 Stripe 默认阻止它。

通常,您需要更改集成以使用ElementsCheckout正确标记客户端。

在您的情况下,尽管您不控制代码或集成,因为您使用的是名为 FoxyCart 的第三方平台。他们应该开始对客户端进行标记,或者使用 Stripe Connect 代表您发出 API 请求。

我建议与他们(FoxyCart)讨论这个问题,以便他们可以升级他们的集成。

于 2018-06-22T15:02:13.303 回答