C# (13) 商户登录ID或密码无效或帐户处于非活动状态
我想在我的网站上使用asp.net实现授权.net支付网关。我是这方面的初学者。有人可以给我一个示例代码,从那里我可以重定向到Authorize.net页面以完成付款过程。 我已经创建了一个沙盒帐户。 重定向URL-但我得到一个错误 (13) 商户登录ID或密码无效或帐户处于非活动状态 我的帐户处于活动状态并处于测试模式 我的代码:C# (13) 商户登录ID或密码无效或帐户处于非活动状态,c#,asp.net,authorize.net,C#,Asp.net,Authorize.net,我想在我的网站上使用asp.net实现授权.net支付网关。我是这方面的初学者。有人可以给我一个示例代码,从那里我可以重定向到Authorize.net页面以完成付款过程。 我已经创建了一个沙盒帐户。 重定向URL-但我得到一个错误 (13) 商户登录ID或密码无效或帐户处于非活动状态 我的帐户处于活动状态并处于测试模式 我的代码: protected void Button_pay_Click(object sender, EventArgs e) { string v
protected void Button_pay_Click(object sender, EventArgs e)
{
string value = TextBox_amt.Text;
decimal d = decimal.Parse(value);
Run("abc", "abcq234", d);
}
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount)
{
Console.WriteLine("Create an Accept Payment Transaction Sample");
ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX;
// define the merchant information (authentication / transaction id)
ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
{
name = ApiLoginID,
ItemElementName = ItemChoiceType.transactionKey,
Item = ApiTransactionKey,
};
var opaqueData = new opaqueDataType
{
dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT",
dataValue = "119eyJjb2RlIjoiNTBfMl8wNjAwMDUyN0JEODE4RjQxOUEyRjhGQkIxMkY0MzdGQjAxQUIwRTY2NjhFNEFCN0VENzE4NTUwMjlGRUU0M0JFMENERUIwQzM2M0ExOUEwMDAzNzlGRDNFMjBCODJEMDFCQjkyNEJDIiwidG9rZW4iOiI5NDkwMjMyMTAyOTQwOTk5NDA0NjAzIiwidiI6IjEuMSJ9"
};
var billingAddress = new customerAddressType
{
firstName = "John",
lastName = "Doe",
address = "123 My St",
city = "OurTown",
zip = "98004"
};
//standard api call to retrieve response
var paymentType = new paymentType { Item = opaqueData };
// Add line Items
var lineItems = new lineItemType[2];
lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) };
lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) };
var transactionRequest = new transactionRequestType
{
transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card
amount = amount,
payment = paymentType,
billTo = billingAddress,
lineItems = lineItems
};
var request = new createTransactionRequest { transactionRequest = transactionRequest };
// instantiate the contoller that will call the service
var controller = new createTransactionController(request);
controller.Execute();
// get the response from the service (errors contained if any)
var response = controller.GetApiResponse();
//validate
if (response != null)
{
if (response.messages.resultCode == messageTypeEnum.Ok)
{
if (response.transactionResponse.messages != null)
{
Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId);
Console.WriteLine("Response Code: " + response.transactionResponse.responseCode);
Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code);
Console.WriteLine("Description: " + response.transactionResponse.messages[0].description);
Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode);
}
else
{
Console.WriteLine("Failed Transaction.");
if (response.transactionResponse.errors != null)
{
Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode);
Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText);
}
}
}
else
{
Console.WriteLine("Failed Transaction.");
if (response.transactionResponse != null && response.transactionResponse.errors != null)
{
Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode);
Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText);
}
else
{
Console.WriteLine("Error Code: " + response.messages.message[0].code);
Console.WriteLine("Error message: " + response.messages.message[0].text);
}
}
}
else
{
Console.WriteLine("Null Response.");
}
return response;
}
受保护的无效按钮\u支付\u单击(对象发送者,事件参数e)
{
字符串值=文本框\金额文本;
decimal d=decimal.Parse(值);
运行(“abc”、“abcq234”、d);
}
公共静态ANetApiResponse运行(字符串ApiLoginID、字符串ApiTransactionKey、十进制金额)
{
Console.WriteLine(“创建接受付款交易样本”);
ApiOperationBase.RunEnvironment=AuthorizeNet.Environment.SANDBOX;
//定义商户信息(身份验证/交易id)
ApiOperationBase.MerchantAuthentication=新的merchantAuthenticationType()
{
名称=ApiLoginID,
ItemElementName=ItemChoiceType.transactionKey,
Item=ApiTransactionKey,
};
var opaqueData=新的opaqueDataType
{
dataDescriptor=“COMMON.ACCEPT.INAPP.PAYMENT”,
dataValue=“119EYJJB2RLIJINTBFML8WNJAWMDUYN0JEODERJQXOUEYRJHGQKIXMKY0MZDGQJAXQUIWRTY2NJFNEFCNZE4NTUWMJLGRU0M0JFMENERUIWQZM20M0EXOUEWDAZZZNGRDNFMCODJEMDFCQJJJJYNEJWIDG9RZW4I5NKMYMTAYOUTQ5NJAZIWIDIIJ9”
};
var billingAddress=新的customerAddressType
{
firstName=“约翰”,
lastName=“Doe”,
address=“123 My St”,
city=“OurTown”,
zip=“98004”
};
//检索响应的标准api调用
var paymentType=new paymentType{Item=opaqueData};
//添加行项目
var lineItems=新的lineItemType[2];
lineItems[0]=新的lineItemType{itemId=“1”,name=“t-shirt”,数量=2,单价=new Decimal(15.00)};
lineItems[1]=新的lineItemType{itemId=“2”,name=“滑雪板”,数量=1,单价=new Decimal(450.00)};
var transactionRequest=新transactionRequestType
{
transactionType=transactionTypeEnum.authCaptureTransaction.ToString(),//刷卡收费
金额=金额,
payment=paymentType,
billTo=billingAddress,
lineItems=lineItems
};
var request=new createTransactionRequest{transactionRequest=transactionRequest};
//实例化将调用服务的控制器
var控制器=新的createTransactionController(请求);
controller.Execute();
//从服务获取响应(如果有错误,则包含错误)
var response=controller.GetApiResponse();
//证实
if(响应!=null)
{
if(response.messages.resultCode==messageTypeEnum.Ok)
{
if(response.transactionResponse.messages!=null)
{
Console.WriteLine(“已成功创建事务ID为:+response.transactionResponse.transId的事务”);
Console.WriteLine(“响应代码:+Response.transactionResponse.responseCode”);
Console.WriteLine(“消息代码:+response.transactionResponse.messages[0].Code”);
Console.WriteLine(“说明:”+response.transactionResponse.messages[0]。说明);
Console.WriteLine(“成功,验证代码:+response.transactionResponse.authCode”);
}
其他的
{
Console.WriteLine(“失败的事务”);
if(response.transactionResponse.errors!=null)
{
Console.WriteLine(“错误代码:+response.transactionResponse.errors[0].errorCode”);
Console.WriteLine(“错误消息:+response.transactionResponse.errors[0].errorText”);
}
}
}
其他的
{
Console.WriteLine(“失败的事务”);
if(response.transactionResponse!=null&&response.transactionResponse.errors!=null)
{
Console.WriteLine(“错误代码:+response.transactionResponse.errors[0].errorCode”);
Console.WriteLine(“错误消息:+response.transactionResponse.errors[0].errorText”);
}
其他的
{
Console.WriteLine(“错误代码:“+response.messages.message[0].Code”);
Console.WriteLine(“错误消息:+response.messages.message[0].text”);
}
}
}
其他的
{
控制台.WriteLine(“空响应”);
}
返回响应;
}
Aparajita您必须检查Authorize.Net帐户中沙盒的API凭据Aparajita您必须检查Authorize.Net帐户中沙盒的API凭据这经常出现,原因总是一样的:
https://api2.authorize.net/xml/v1/request.api
森林