Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net mvc项目中进行测试付款?_Asp.net_Asp.net Mvc_Payment Gateway - Fatal编程技术网

如何在asp.net mvc项目中进行测试付款?

如何在asp.net mvc项目中进行测试付款?,asp.net,asp.net-mvc,payment-gateway,Asp.net,Asp.net Mvc,Payment Gateway,我开始在一个项目中工作,该项目中已经配置了Way的付款。我无法从Way网站了解如何配置它以进行测试付款。 web.config中的当前设置为: <appSettings> <add key="PaymentGateway" value="2"/> <add key="EwayRedirectUrl" value="http://localhost:54053/#/Memberships"/> <add key="EwayApiKe

我开始在一个项目中工作,该项目中已经配置了Way的付款。我无法从Way网站了解如何配置它以进行测试付款。 web.config中的当前设置为:

<appSettings>
    <add key="PaymentGateway" value="2"/>
    <add key="EwayRedirectUrl" value="http://localhost:54053/#/Memberships"/>
    <add key="EwayApiKey" value="60CF3Ce97nRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>
    <add key="EwayPassword" value="API-P4ss"/>
    <add key="EwayEnvironment" value="Sandbox"/>
</appSettings>
我在'eCrypt'下面得到了一些曲折的线条,上面写着:隐式声明变量'eCrypt'的使用。 在cshtml中,我包含了指向js文件的链接:

<script src="https://secure.ewaypayments.com/scripts/eCrypt.js"></script>

这里的付款方式是直接的。

这些凭证是针对公共沙箱帐户的,因此应该接受任何有效的卡号(包括您发布的4444卡号)。你收到错误了吗?我一直收到一个错误:“付款无法处理,请检查你的卡详细信息。”有没有办法启用测试付款?谢谢。正如我所说,这些凭证是用于沙盒网关的,它只接受测试付款!您是否可以共享访问代码或您正在输入详细信息的URL?请检查编辑。我仍在搜索它所点击的URL所在的项目。它正在使用一个API项目,所以我现在要检查它是否有任何访问代码或URL。另外,当我发送请求时,我会得到以下两个响应:“无效的加密卡号,解密失败”,“无效的加密cvn,解密失败”
<script src="https://secure.ewaypayments.com/scripts/eCrypt.js"></script>
private IRapidClient _ewayClient;
private readonly string _rapidEndpoint = ConfigurationManager.AppSettings["EwayEnvironment"];
public void Initialize(string apiKey, string password)
{
    _ewayClient = RapidClientFactory.NewRapidClient(apiKey, password, _rapidEndpoint);
}

public EwayPaymentResponse Pay(EwayPaymentRequest request)
{
    var ewayResponse = new EwayPaymentResponse {Status = false};
    try
    {
        Transaction transaction = new Transaction
        {
            Customer = new Customer()
            {
                CardDetails = new CardDetails()
                {
                    Name = request.Customer.CardDetails.Name,
                    Number = request.Customer.CardDetails.Number,
                    ExpiryMonth = request.Customer.CardDetails.ExpiryMonth,
                    ExpiryYear = request.Customer.CardDetails.ExpiryYear,
                    CVN = request.Customer.CardDetails.CVN
                }
            },
            PaymentDetails = new PaymentDetails()
            {
                CurrencyCode = "AUD",
                TotalAmount = Convert.ToInt32(request.Payment.TotalAmount * 100)
            },
            TransactionType = TransactionTypes.Purchase,
            RedirectURL = ConfigurationManager.AppSettings["EwayRedirectUrl"],
        };

        CreateTransactionResponse response = _ewayClient.Create(PaymentMethod.Direct, transaction);

        if (response.TransactionStatus.Status != null && (bool) response.TransactionStatus.Status)
        {
            ewayResponse.Status = true;
            return ewayResponse;
        }
        if (response.Errors != null)
        {
            foreach (var errorCode in response.Errors)
            {
                ewayResponse.ErrorMessages.Add(RapidClientFactory.UserDisplayMessage(errorCode, "EN"));
            }
            return ewayResponse;
        }

        ewayResponse.ErrorMessages.Add("Invalid credit card information.");
        return ewayResponse;
    }
    catch (Exception e)
    {
        ewayResponse.ErrorMessages.Add(e.Message);

        return ewayResponse;
    }
}