2016-05-25 50 views
0

這對我來說很容易複製,就像在下面的示例中包含或不包括幾行一樣簡單。Authorize.Net - 包括transactionRequestType中的訂單會導致收費失敗(c#)

customerProfilePaymentType transProfile = new customerProfilePaymentType 
{ 
    customerProfileId = _custProfileId, 
    paymentProfile = new paymentProfile { paymentProfileId = _paymentProfileId } 
}; 

transactionRequestType trans = new transactionRequestType 
{ 
    transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), 
    amount = TotalAmount, 
    profile = transProfile, 
    order = new orderType 
    { 
     description = "Test Description", 
     invoiceNumber = "Invoice #" 
    } 
}; 

createTransactionRequest chargeReq = new createTransactionRequest { transactionRequest = trans }; 

createTransactionController chargeCntl = new createTransactionController(chargeReq); 
chargeCntl.Execute(); 

_chargeResp = chargeCntl.GetApiResponse(); 

好吧..所以這一個很簡單。在此代碼的末尾,_chargeResp的值爲空。但是,如果我只註釋掉以「order = new orderType」開頭的5行,那麼代碼運行得很好。

我可能只是不理解這裏的東西,所以希望有人能指出我正確的方向。

回答

1

這不是一個答案,但我沒有足夠的代表只是評論。我猜測它與你的設置有關,因爲我的沙盒測試只是爲我工作(儘管我使用的是等效的VB語法而不是C#)。

Dim transactionRequest = New transactionRequestType() With { _ 
    .transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), _ 
    .amount = amount, _ 
    .payment = paymentType, _ 
    .billTo = billingAddress, _ 
    .order = New orderType With { _ 
     .description = "Test Description", _ 
     .invoiceNumber = "Invoice #" _ 
     } _ 
} 

那些2線確認電子郵件有我送爲好信息:

=========訂購信息=========
發票:發票#
說明:測試內容說明
金額:56.22(美元)
付款方式:Visa xxxx1111
交易類型:授權和捕獲

+0

我已經暫時被拉到不同的產品,但這仍然是一個熱門話題。感謝信息,至少我知道這不是代碼(或者至少似乎不是)。 – ESDictor

相關問題