Formulário SagePay - ASP clássico - campo de moeda está ausente usando rijndael.asp
Estou tentando adicionar o gateway de pagamento do Form Intergration SagePay no ASP clássico. Eu tenho uma versão PHP de trabalho que obtive da SO. Eu traduzi para VBSCRIPT, tudo parece estar funcionando bem, exceto a criptografia.
Estou usando todas as mesmas entradas que o script PHP para que o Cryptstring seja exatamente o mesmo que o PHP Cryptstring antes de ser criptografado.
Fiz o download e uso dos arquivos Rijndael.asp e includes.asp encontrados aqui:Criptografando o campo Crypt usando ASP clássico para integração de formulário SagePay
Mas continuo recebendo o seguinte erro:
Status: MALFORMED Status Detail: 3045 : The Currency field is missing. Cryptstring: VendorTxCode=542534345&ReferrerID=&Amount=200.00&Currency=GBP &Description=Lorem ipsum&SuccessURL=http://www.testserver.co.uk/sagepaytest/success.php &FailureURL=https://www.yoururl.org/fail.php&CustomerName=&CustomerEMail=&VendorEMail= &SendEMail=&eMailMessage=&BillingSurname=Mustermann&BillingFirstnames=Max &BillingAddress1=Bahnhofstr. 1&BillingAddress2=&BillingCity=Cologne&BillingPostCode=50650 &BillingCountry=DE&BillingState=&BillingPhone=&DeliverySurname=Mustermann &DeliveryFirstnames=Max&DeliveryAddress1=Bahnhofstr. 1&DeliveryAddress2= &DeliveryCity=Cologne&DeliveryPostCode=50650&DeliveryCountry=DE&DeliveryState= &DeliveryPhone=&Basket=&AllowGiftAid=&ApplyAVSCV2=&Apply3DSecure=&BillingAgreement= &BasketXML=&CustomerXML=&SurchargeXML=&VendorData=&ReferrerID=&Language=&Website=
Eu tentei adicionar manualmente certos campos na cadeia de criptografia, tentei anular a página sem a criptografia para exibir a saída completa.
Minha senha de criptografia está correta, verifiquei duas e três vezes. É inserido no arquivo includes.php.
index.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!-- #include file="classes/includes.asp" -->
<!-- #include file="classes/sagepay.asp" -->
<% Set objSagePay=new SagePay %>
<% objSagePay.setCurrency("GBP") %>
<% objSagePay.setAmount(200) %>
<% objSagePay.setDescription("Lorem ipsum") %>
<% objSagePay.setBillingSurname("Mustermann") %>
<% objSagePay.setBillingFirstnames("Max") %>
<% objSagePay.setBillingCity("Cologne") %>
<% objSagePay.setBillingPostCode("50650") %>
<% objSagePay.setBillingAddress1("Bahnhofstr. 1") %>
<% objSagePay.setBillingCountry("de") %>
<% objSagePay.setDeliverySameAsBilling() %>
<% objSagePay.setSuccessURL("http://www.testserver.co.uk/sagepaytest/success.php") %>
<% objSagePay.setFailureURL("https://www.yoururl.org/fail.php") %>
<% Crypt=objSagePay.getCrypt() %>
<%= Crypt %>
<div id="content">
<form method="POST" id="SagePayForm" action="https://test.sagepay.com/gateway/service/vspform-register.vsp">
<input type="hidden" name="VPSProtocol" value= "3.00">
<input type="hidden" name="TxType" value= "PAYMENT">
<input type="hidden" name="Vendor" value= "vendorname">
<input type="hidden" name="Crypt" value= "<%= objSagePay.getCrypt() %>">
<input type="submit" value="continue to SagePay">
</form>
Qualquer orientação seria apreciada.