简而言之,没有。这些不是解决这个问题的简单方法。除非您链接到 SagePay 的付款表单并使用新的 IFRAME 功能。您可以在 WordPress 中包含允许在模板页面或模板文件上使用 PHP 代码的某些信息。
1 - 在您的 PHP 服务器中对表单进行 IFRAME 并自行对表单进行编码,这样 CSS 将变得像 WordPress 页面上的 CSS
2 - 为它创建一个支付模块
3 - 为 WordPress 使用现有的支付电子商务服务器模块 - 已经有很多插件
4 - 创建一个支付按钮超链接,一旦点击,它将转到您服务器上的一个 PHP 表单,金额为 300 英镑。
5 - 使用 Nochex 或其他支付供应商、谷歌钱包等(这对客户来说不是一个简单的选择)
使用 FORM,您可以:
<?
# Define your vars
$serverLive="https://live.sagepay.com/gateway/service/vspform-register.vsp"
//$serverLive="https://test.sagepay.com/gateway/service/vspform-register.vsp"
$YOUR_VENDOR_LOGIN_NAME="";
$VendorTxCode="406227821909";
$Amount="350.00";
$Currency="GBP";
$Description="1 ACME Widget";
$SuccessURL="http://example.com/success.php";
$FailureURL="http://example.com/fail.php";
$BillingSurname="Smith";
$BillingFirstnames="John";
$BillingAddress1="123 Main Street";
$BillingCity="Anywhere";
$BillingPostCode="29555";
$BillingCountry="USA";
$DeliverySurname="Smith";
$DeliveryFirstnames="John";
$DeliverAddress1="123 Main Street";
$DeliveryCity="Anywhere";
$DeliveryPostCode="29555";
$DeliveryCountry="GBP";
# The address information can be done via jQuery on your page or get some defaults
?>
<form action="<?=$serverLive?>" method="POST" id="SagePayForm" name="SagePayForm">
<input type="hidden" name="VPSProtocol" value="2.23" />
<input type="hidden" name="TxType" value="PAYMENT" />
<input type="hidden" name="Vendor" value="<?= $YOUR_VENDOR_LOGIN_NAME ?>" />
<input type="hidden" name="Crypt" value="<?= $PAYMENT_CRYPT ?>">
<input type="image" src="images/buynow-sagepay.png" />
</form>
<script type="text/javascript">
function submitform()
{
document.SagePayForm.submit();
}
submitform();
</script>
即使使用此代码,您仍然需要使用一些 SagePay 库,例如 XOR 和 Crypt 函数:
// Crypt and XOR functions
private function simpleXor($string, $password) {
$data=array();
for ($i=0; $i < utf8_strlen($password); $i++) {
$data[$i]=ord(substr($password, $i, 1));
}
$output='';
for ($i=0; $i < utf8_strlen($string); $i++) {
$output .= chr(ord(substr($string, $i, 1)) ^ ($data[$i % utf8_strlen($password)]));
}
return $output;
}