php - 创建 PostFinance 付款请求
问题描述
PHP:谁能帮助我如何使用 wysow 存储库创建付款请求?
我找到了这个链接,但没有任何解决方案。我正在使用concrete5 的社区商店,并试图创建一个PostFinance 支付包/插件。我在 /packages/community_store_postfinance/src/CommunityStore/Payment/Methods/CommunityStorePostfinance/CommunityStorePostfinancePaymentMethod.php 文件中有以下代码(这是GitHub中示例的副本):
$passphrase = new Passphrase($shaInSecret);
$shaComposer = new AllParametersShaComposer($passphrase);
$ecommercePaymentRequest = new EcommercePaymentRequest($shaComposer);
// Set various params:
$ecommercePaymentRequest->setPspid($postfinancePsid);
$ecommercePaymentRequest->setOrderid($custmerOrder->getOrderId());
$ecommercePaymentRequest->setPostFinanceUri(EcommercePaymentRequest::TEST);
$ecommercePaymentRequest->setAmount((Int)$amount);
$ecommercePaymentRequest->setCurrency('CHF');
$ecommercePaymentRequest->setCustomername($customerName);
$ecommercePaymentRequest->setOwnerAddress($address);
$ecommercePaymentRequest->validate();
$formGenerator = new SimpleFormGenerator;
$paymentForm = $formGenerator->render($ecommercePaymentRequest);
// I then pass this to my redirect view
$this->set('paymentForm', $paymentForm);
我已经调试并且正在创建表单并且看起来正确,这是 PostFinance 所要求的,我被重定向到 PostFinance 付款确认页面,但没有任何详细信息传递给 PostFinance。我只是想知道我是否遗漏了某些内容,或者我是否应该在请求中添加其他内容以使表单自动通过?任何见解将不胜感激。谢谢。
解决方案
重定向时,设置的值$this->set()
将丢失。您需要将其设置到会话中。或者您在要重定向到的方法中生成表单(您可以在此方法中从上面调用代码,但您需要返回生成的表单而不是重定向)。
但我认为还有其他问题:$this->set()
通常是来自控制器(页面、块等控制器)的方法。src
但是您正在文件夹中的一个类中使用它。另一个问题似乎是路径:packages/community_store/postfinance/src/CommunityStore/Payment/Methods
. 这不应该是packages/postfinance/src/CommunityStore/Payment/Methods
因为包名是postfinance
而不是community_store
吗?
推荐阅读
- exception - 何时使用向量中断与非向量中断?
- oracle - Windows 10重启后Oracle18C无法打开PDB
- reactjs - 为使用酶返回 jsx 元素的对象编写测试用例
- c++ - 从类对象到结构变量的 memcpy
- excel - 我怎样才能使这段代码更有效率,以便它运行得更快?
- python - Python 可执行文件:python 的模块文件在哪里?
- ssh - SSH 是否允许用户在没有密码和密钥的情况下登录?
- python - 如何定义导入模块的函数
- jenkins - 有没有办法确保 Jenkins 管道关闭?
- shiny - Shiny Dashboard 迷你侧边栏显示文本