【发布时间】:2019-01-04 08:25:57
【问题描述】:
我正在尝试在我的 Symfony 4 PHP 应用程序中设置 Braintree 集成。
我已经使用 composer 要求并安装了最新版本的 Braintree SDK,并在 env 文件中添加了测试凭据。
设置客户端
https://developers.braintreepayments.com/start/hello-client/javascript/v3
然后,我将客户端代码添加到用于 Drop-in UI 的 twig 模板中。
<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 块中
<script src="https://js.braintreegateway.com/web/dropin/1.14.1/js/dropin.min.js"></script>
设置服务器
https://developers.braintreepayments.com/start/hello-server/php
下一步是生成客户端令牌
$clientToken = $gateway->clientToken()->generate([
"customerId" => $aCustomerId
]);
然后将令牌发送给客户端等。
问题
我的问题是我应该将服务器端代码放在 Symfony 4 应用程序的什么位置?
您是在 src/Services 中创建一个 Braintree.php 服务,并将所有 Braintree PHP 代码放在那里或控制器中,还是两者都放一些?
【问题讨论】:
标签: php symfony symfony4 braintree