コード例 #1
0
        public CaptureResult Capture(int transactionNumber, long amount, string orderId, int vatAmount, string additionalValues)
        {
            Log.InfoFormat("Calling Capture for TransactionNumber:{0}. Amount:{1}. OrderId:{2}. VatAmount:{3}. AdditionalValues:{4}",
                           transactionNumber, amount, orderId, vatAmount, additionalValues);

            string hash      = _hasher.Create(_payExSettings.AccountNumber, transactionNumber, amount, orderId, vatAmount, additionalValues, _payExSettings.EncryptionKey);
            string xmlResult = _orderFacade.Capture(_payExSettings.AccountNumber, transactionNumber, amount, orderId, vatAmount,
                                                    additionalValues, hash);

            CaptureResult result = _resultParser.Deserialize <CaptureResult>(xmlResult);

            if (result.Success)
            {
                Log.InfoFormat("Successfully called Capture for TransactionNumber:{0}. Amount:{1}. OrderId:{2}. VatAmount:{3}. AdditionalValues:{4}. Result:{5}",
                               transactionNumber, amount, orderId, vatAmount, additionalValues, xmlResult);
            }
            else
            {
                Log.ErrorFormat("Error when calling Capture for TransactionNumber:{0}. Amount:{1}. OrderId:{2}. VatAmount:{3}. AdditionalValues:{4}. Result:{5}",
                                transactionNumber, amount, orderId, vatAmount, additionalValues, xmlResult);
            }
            return(result);
        }