首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 4-建立Braintree支付整合

Symfony 4-建立Braintree支付整合
EN

Stack Overflow用户
提问于 2019-01-04 08:25:57
回答 1查看 759关注 0票数 0

我正在尝试在我的Symfony 4 PHP应用程序中设置Braintree集成。

我使用composer来要求并安装Braintree SDK的最新版本,并在env文件中添加了测试凭据。

设置客户端

https://developers.braintreepayments.com/start/hello-client/javascript/v3

然后,我将客户端代码添加到我的小枝模板中,用于插入UI。

代码语言:javascript
复制
<div id="dropin-container"></div>
<button id="submit-button">Request payment method</button>
<script>
 var button = document.querySelector('#submit-button');

 braintree.dropin.create({
  authorization: 'CLIENT_TOKEN_FROM_SERVER',
  container: '#dropin-container'
 }, function (createErr, instance) {
  button.addEventListener('click', function () {
   instance.requestPaymentMethod(function (err, payload) {
     // Submit payload.nonce to your server
   });
  });
 });
</script>

并将此脚本包含在js块中。

代码语言:javascript
复制
<script src="https://js.braintreegateway.com/web/dropin/1.14.1/js/dropin.min.js"></script>

设置服务器

https://developers.braintreepayments.com/start/hello-server/php

下一步是生成一个客户机令牌。

代码语言:javascript
复制
$clientToken = $gateway->clientToken()->generate([
    "customerId" => $aCustomerId
]);

然后将令牌发送到客户端等。

问题

我的问题是,我应该把服务器端代码放在我的Symfony 4应用程序中吗?

您是在src/Services中创建一个Braintree.php服务,并将所有Braintree PHP代码放入其中或在控制器中,还是将其中的一些放在其中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 09:21:00

最佳做法是使控制器尽可能细。控制器方法应:

  • 接受请求
  • 调用适当的服务
  • 手柄响应

这都是控制器应该负责的。在您的示例中,适当的服务将是您的BraintreeService,它是一个类,它负责处理与Braintree SDK或任何与Braintree相关的任何操作。

Symfony遵循“瘦控制器和胖模型”的理念。这意味着控制器应该只包含协调应用程序不同部分所需的薄层胶水代码。

practices/controllers.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54035374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档