2010-08-26 30 views
2

Kentico est un système de gestion de contenu C#/Asp.NET que nous utilisons et j'essaie d'implémenter l'intégration de authorize.net SIM (rediriger l'utilisateur vers les serveurs authorize.net pour faire l'achat à travers un poste de formulaire). Kentico utilise des pages maîtres, ce qui s'avère être une bête. Le premier problème consistait à envoyer le formulaire aux serveurs authorize.net. J'ai été capable de le faire en utilisant ce qui suit.Soumission de formulaire SIM Authorize.Net dans Kentico

<script type="text/javascript"> 
    theForm.action = "https://test.authorize.net/gateway/transact.dll"; 
</script> 

assez facile (theForm == la forme de la page principale), maintenant la question réside dans le fait que j'était à l'origine en utilisant le code derrière pour remplir les champs d'entrée cachés et il change tous les noms de ces champs d'entrée . Cela rend impossible pour authorize.net de savoir ce que vous faites.

Est-ce que quelqu'un a fait une intégration comme celle-ci avant? Et si oui, quelle est la manière la plus appropriée de résoudre ce problème?

J'ai quelques idées mais elles impliquent toutes ce que je considère comme des méthodes extrêmement sales pour le faire fonctionner.

Répondre

3

vous devez suivre les étapes suivantes pour prendre les noms de vos champs d'entrée sous votre contrôle:

1) Utilisez votre code pour définir la passerelle de paiement URL

2) Lieu ASP.NET contrôle Literal à la page ASPX, quelque chose comme: < asp: literal runat = ID "serveur" = "myFields"/>

3) Aller au code derrière et initialiser le littéral avec le code HTML de vos champs d'entrée. Pour chaque champ d'entrée, définissez son identifiant personnalisé. par exemple: myFields.Text + = "< input type =" text "id =" carnumber "nom =" cardnumber "/ >"; Après avoir cliqué sur le bouton, l'utilisateur est redirigé vers l'URL de la passerelle de paiement où les données POSTed de vos champs de saisie sont disponibles sous les identifiants requis. J'espère que vous trouverez cela utile.