SagePay Form - Klassisches ASP - Währungsfeld fehlt mit rijndael.asp

Ich versuche, das Zahlungsgateway Form Intergration SagePay in Classic ASP hinzuzufügen. Ich habe eine funktionierende PHP-Version, die ich von SO bezogen habe. Ich habe es in VBSCRIPT übersetzt, alles scheint gut zu funktionieren, außer die Verschlüsselung.

Ich verwende dieselben Eingaben wie das PHP-Skript, sodass der Cryptstring genau mit dem PHP-Cryptstring übereinstimmt, bevor er verschlüsselt wird.

Ich habe die hier gefundenen Dateien Rijndael.asp & includes.asp heruntergeladen und verwendet:Encrypting Crypt-Feld mit klassischem ASP für die Integration von SagePay-Formularen

Aber ich erhalte weiterhin die folgende Fehlermeldung:

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=

Ich habe versucht, bestimmte Felder manuell in die Verschlüsselungszeichenfolge einzufügen. Ich habe versucht, eine andere Seite ohne Verschlüsselung abzurufen, um die vollständige Ausgabe anzuzeigen.

Mein Verschlüsselungspasswort ist korrekt, ich habe es doppelt und dreifach überprüft. Es ist in der Datei includes.php eingetragen.

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>

Jede Anleitung wäre dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage