0
전자 상거래 사이트에서 일하고 있습니다. 나는 현명한 결제 게이트웨이를 통합해야합니다. 체크 아웃 할 때 다음 오류가 발생하는 것을 제외하면 모든 것이 잘 작동합니다. 다음 정보 및 나를 사용하는 코드를 살펴보십시오. 3121 : 내가이 코드를 실행하려고하면우리 웹 사이트에서 sage-pay를 통합하려고 시도하는 중에 3121 오류가 발생합니다
<?php
$serverLive="https://test.sagepay.com/gateway/service/vspform-register.vsp";
$YOUR_VENDOR_LOGIN_NAME = "alpinetravelint";
$PAYMENT_CRYPT="VendorTxCode=406227821909&Amount=320.00&Currency=GBP&Description=1ACMEWidget&SuccessURL=http://salentro.com/core/snowtrax/index.php&FailureURL=http://salentro.com/core/snowtrax/login.php&BillingSurname=Smith&BillingFirstnames=John&BillingAddress1=123 Main Street&BillingCity=Anywhere&BillingPostCode=W1A 1BL&BillingCountry=GB&DeliverySurname=Smith&DeliveryFirstnames=test&DeliverAddress1=123Main Street&DeliveryCity=Anywhere&DeliveryPostCode=W1A 1BL&DeliveryCountry=GB";
function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
function encryptFieldData($input)
{
$key = "4bBtA2UYvZKry3tb";
$iv = $key;
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, "", MCRYPT_MODE_CBC, "");
if (mcrypt_generic_init($cipher, $key, $iv) != -1)
{
$cipherText = mcrypt_generic($cipher,$input);
mcrypt_generic_deinit($cipher);
$enc = bin2hex($cipherText);
}
return $enc;
}
$str = $PAYMENT_CRYPT;
$datapadded = pkcs5_pad($str,16);
$cryptpadded = "@" . encryptFieldData($datapadded);
?>
<form action="<?php echo $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="<?php echo $YOUR_VENDOR_LOGIN_NAME ?>" />
<input type="hidden" name="Crypt" value="<?php echo $cryptpadded ?>">
<input type="image" src="images/buynow-sagepay.png" />
</form>
이제 문제는 내가 오류 코드 다음있어, 인 DeliveryFirstnames 값이 너무 깁니다. 이 문제를 해결하려면 적절한 해결책을 제공해주십시오.