简单支付php
我的任务是重新设计一个网站,让用户最终购买活动门票 旧网站使用了PayPal的buy now按钮,但客户希望该网站也这样做,但希望使用SagePay 该网站正处于一个确认页面中显示变量$ticketNumber和$ticketMount的阶段,而这正是以前的设计中有PayPal按钮的地方,因此我必须以某种方式在这里集成SagePay 我浏览了SagePay网站和文档,下载了Integration_和Protocol_指南pdf和php集成工具包,但我无法理解任何东西,因为大约有100页,包括、库和模板等 我不介意,如果我使用下降或自己的形式的方法,因为该网站是安全的 我有sagepay提供的测试供应商名称、集成密钥和集成密码 sagepay技术支持人员告诉我,sagepay pi是一个不错的选择,但它所解释的3个简单步骤仍然让我感到困惑 我没有任何代码可以显示,因为我尝试过的所有内容都显示为空白页,所以我做错了什么 我所做的(使用drop-in方法)是在confirm页面中添加这些js include:简单支付php,php,integration,opayo,Php,Integration,Opayo,我的任务是重新设计一个网站,让用户最终购买活动门票 旧网站使用了PayPal的buy now按钮,但客户希望该网站也这样做,但希望使用SagePay 该网站正处于一个确认页面中显示变量$ticketNumber和$ticketMount的阶段,而这正是以前的设计中有PayPal按钮的地方,因此我必须以某种方式在这里集成SagePay 我浏览了SagePay网站和文档,下载了Integration_和Protocol_指南pdf和php集成工具包,但我无法理解任何东西,因为大约有100页,包括、库
<script src="https://pi-test.sagepay.com/api/v1/js/sagepay.js"></script>
<script src="https://pi-test.sagepay.com/api/v1/js/sagepay-dropin.js">
然后,我在确认文本下添加了此脚本,其中显示票号和金额:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://pi-test.sagepay.com/api/v1/merchant-session-keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{ "vendorName": "<myvendorname>" }',
CURLOPT_HTTPHEADER => array(
"Authorization: Basic <Base64 Encoded Integration Key:Integration Password>",
"Cache-Control: no-cache",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
?>
我没有任何代码可以显示,因为我尝试过的所有内容都显示为空白页,所以我做错了什么
我对php很陌生,因为我的职业生涯让我在ASP工作了很多年
我要做的第一件事是做一次精神检查。当PHP返回一个空白页面时,这通常是因为有错误不让您知道(例如PHP正在生产配置中运行)。所以你首先要做的是:
在web服务器显然要打开的文件中创建以下代码(我使用index.php)
请检查Apache或Nginx日志。我相信您没有安装curl。为了确保我们在这里的定位正确,您是否在每次提交CC表单时都创建merchantSessionKey
?merchantSessionKey
创建后仅持续400秒。然后您要抓取随您的CC表单一起提交的cardIdentifier
?cardIdentifier
将是代表卡的一次性令牌。Sage Pay webiste在实施Sage Pay PI时提供了更结构化的方法。如果您还没有这样做,并且仍然有困难,请查看
<form>
<h2>Payment Details</h2>
<div id="sp-container"></div>
<div id="submit-container">
<input type="submit">
</div>
</form>
<script>
sagepayCheckout({ merchantSessionKey: 'F42164DA-4A10-4060-AD04-F6101821EFC3' }).form();
</script>
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://pi-test.sagepay.com/api/v1/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{' .
'"transactionType": "Payment",' .
'"paymentMethod": {' .
' "card": {' .
' "merchantSessionKey": "' . $merchantSessionKey . '",' .
' "cardIdentifier": "' . $cardIdentifier . '"' .
' }' .
'},' .
'"vendorTxCode": "$ticketNo",' .
'"amount": 100,' .
'"currency": "GBP",' .
'"description": "Online Payment",' .
'"apply3DSecure": "UseMSPSetting",' .
'"customerFirstName": "Sam",' .
'"customerLastName": "Jones",' .
'"billingAddress": {' .
' "address1": "407 St. John Street",' .
' "city": "London",' .
' "postalCode": "EC1V 4AB",' .
' "country": "GB"' .
'},' .
'"entryMethod": "Ecommerce"' .
'}',
CURLOPT_HTTPHEADER => array(
"Authorization: Basic <Base64 Encoded Integration Key:Integration Password>",
"Cache-Control: no-cache",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
?>
<?php
echo('This is some PHP');
<?php
echo($This_is_some_PHP);