Apologies for reviving an old thread, and if this has already been reported elsewhere, but it still appears to be an issue in the current C# SDK available for download.
There seems to be a bug in the constructor for CardPresentPriorAuthCapture. This constructor takes an (amount) parameter, which the documentation states will be passed as the final amount to capture:
public class CardPresentPriorAuthCapture:GatewayRequest {
/// <summary>
/// Initializes a new instance of the <see cref="CardPresentPriorAuthCapture"/> class.
/// </summary>
/// <param name="transactionID">The transaction ID.</param>
/// <param name="amount">The amount.</param>
public CardPresentPriorAuthCapture(string transactionID, decimal amount) {
this.SetApiAction(RequestAction.PriorAuthCapture);
this.Queue("x_ref_trans_id", transactionID);
}
}
However, as you can see, the constructor never does anything with the "amount" parameter, so it is never actually passed to the gateway. Consequently, the originally-authorized amount is captured instead of the specified amount. Obviously, this is a huge problem.
If there's a better place to report these issues (I have run into quite a few with this SDK) please let me know.
Thanks,
Brian