Beispiel #1
0
        public ANetApiResponse TestRefund()
        {
            var response = (createTransactionResponse)AuthorizeCreditCard.Run(apiLoginId, transactionKey, GetAmount());

            response = (createTransactionResponse)CapturePreviouslyAuthorizedAmount.Run(apiLoginId, transactionKey, GetAmount(), response.transactionResponse.transId);
            return(RefundTransaction.Run(apiLoginId, transactionKey, GetAmount(), response.transactionResponse.transId));
        }
        public async Task Given_refund_When_add_it_Then_it_is_accepted()
        {
            var target      = TestClientFactory.BuildClient(out var settings);
            var transaction = new RefundTransaction
            {
                Description = "Test refund transaction from Buxfer",
                Amount      = 6.0m,
                Date        = DateTime.Now,
                AccountId   = settings.AccountId
            };

            transaction.TagNames.Add(BuxferClientAutoTestsTag);


            var createdTransaction = await target.AddTransaction(transaction);

            createdTransaction.ShouldBeLike(transaction);

            createdTransaction.Amount.Should().Be(transaction.Amount);
            createdTransaction.AccountId.Should().Be(createdTransaction.AccountId);

            var loadedTransaction =
                await Load <RefundTransaction>(target, createdTransaction.Id, transaction.TagNames.First());

            loadedTransaction.ShouldBeLike(transaction);
        }
Beispiel #3
0
        public async Task <RefundTransactionRespose> GetChargebackStatus(RefundTransaction data)
        {
            var url = _routes[_refund];

            var sender = new Sender <RefundTransaction, RefundTransactionRespose>();

            return(await sender.Post(data, url));;
        }
Beispiel #4
0
        public string Purchase(double dPurchase, double dCashout, double dCheque, string sRef)
        {
//			using (VaultSession vs = new VaultSession("CHECKOUT1"))
            {
                sRef += DateTime.Now.ToOADate().ToString();
                TransactionResult ret = new TransactionResult();

                if (dPurchase > 0)
                {
                    PurchaseTransaction txp = new PurchaseTransaction(sRef, (decimal)(dPurchase));
                    if (dCashout > 0)
                    {
                        txp.CashOutAmount = (decimal)dCashout;
                    }
                    ret = vs.ExecuteTransaction(txp);

                    // Check to see if the result is Unknown - note that ExecuteTransaction
                    // will only ever return TransactionResult.Unknown if the session is
                    // reset or if the VaultSession.EnableAutoComplete property is false.
                    // If the POS Application does not call reset session and leaves
                    // auto-completion enabled then this test is not necessary.
                    while (ret == TransactionResult.Unknown)
                    {
                        ret = vs.CompleteTransaction(txp);
                    }
                }
                else if (dPurchase < 0)
                {
                    RefundTransaction txr = new RefundTransaction(sRef, (decimal)(0 - dPurchase));
                    ret = vs.ExecuteTransaction(txr);
                }
                else if (dCheque > 0)
                {
                    ChequeAuthTransaction txca = new ChequeAuthTransaction(sRef, (decimal)dCheque);
                    ret = vs.ExecuteTransaction(txca);
                }
                else
                {
                    return("INVALID AMOUNT");
                }
                if (ret == TransactionResult.Success)
                {
                    return("ACCEPTED");
                }
            }
            return("FAILED");
        }
Beispiel #5
0
 private void refundTrasactionProductsToolStripMenuItem_Click(object sender, EventArgs e)
 {
     //APISettings.InitAPI();
     ClearDebug();
     PAYNLSDK.API.Refund.Transaction.Request fixture = RefundTransaction.GetFixture();
     AddDebug("Fixture loaded.");
     AddDebug("JSON:");
     AddDebug(fixture.ToString());
     AddDebug("PARAMS:");
     //string qs = fixture.ToQueryString();
     //AddDebug(qs);
     //NameValueCollection nvc = HttpUtility.ParseQueryString(qs);
     //string json = JsonConvert.SerializeObject(NvcToDictionary(nvc, true));
     //AddDebug("-----");
     ////AddDebug("PARAMS AS JSON");
     ////AddDebug(json);
     //DumpNvc(nvc);
     AddDebug("-----");
     AddDebug("DONE");
 }
Beispiel #6
0
        private void refundTrasactionProductsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ClearDebug();
            PAYNLSDK.API.Refund.Transaction.Request fixture = RefundTransaction.GetFixture();
            AddDebug("Fixture loaded.");
            AddDebug("JSON:");
            AddDebug(fixture.ToString());
            AddDebug("PARAMS:");
            string qs = fixture.ToQueryString(APISettings.ServiceID);

            AddDebug(qs);
            var parameters = HttpUtility.ParseQueryString(qs);

            // string json = JsonConvert.SerializeObject(parametersToDictionary(parameters, true));
            AddDebug("-----");
            //AddDebug("PARAMS AS JSON");
            //AddDebug(json);
            Dumpparameters(parameters);
            AddDebug("-----");
            AddDebug("DONE");
        }
Beispiel #7
0
        private void RefundTrasactionProductsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ClearDebug();
            var fixture = RefundTransaction.GetFixture();

            AddDebug("Fixture loaded.");
            AddDebug("JSON:");
            AddDebug(fixture.ToString());
            AddDebug("PARAMS:");
            var qs = fixture.ToQueryString();

            AddDebug(qs);
            var nvc  = HttpUtility.ParseQueryString(qs);
            var json = JsonConvert.SerializeObject(NvcToDictionary(nvc, true));

            AddDebug("-----");
            AddDebug("PARAMS AS JSON");
            AddDebug(json);
            DumpNvc(nvc);
            AddDebug("-----");
            AddDebug("DONE");
        }
Beispiel #8
0
        public bool RefundPartial(string TransactionID, decimal valor)
        {
            bool retorno = false;

            RefundTransaction Refound = PayPalApiFactory.instance.ExpressCheckout().RefundTransaction(TransactionID);

            Refound.LocaleCode   = LocaleCode.BRAZILIAN_PORTUGUESE;
            Refound.CurrencyCode = CurrencyCode.BRAZILIAN_REAL;
            Refound.RefundType   = RefundType.Partial.ToString();
            Refound.Amt          = valor.ToString().Replace(',', '.');

            Refound.execute();

            if (Refound.ResponseNVP.Ack != Ack.SUCCESS)
            {
                throw new Exception("Não foi possivel realizar o estorno do pagamento junto ao PayPal, tente novamente!");
            }
            else
            {
                retorno = true;
            }

            return(retorno);
        }
Beispiel #9
0
        public bool RefundPayPal(string TransactionID)
        {
            try
            {
                bool retorno = false;

                RefundTransaction Refound = PayPalApiFactory.instance.ExpressCheckout(
                    Usuario,
                    Senha,
                    Assinatura
                    ).RefundTransaction(TransactionID);

                Refound.LocaleCode   = LocaleCode.BRAZILIAN_PORTUGUESE;
                Refound.CurrencyCode = CurrencyCode.BRAZILIAN_REAL;

                if (AmbienteTestePayPal)
                {
                    Refound.sandbox().execute();
                }
                else
                {
                    Refound.execute();
                }

                if (Refound.ResponseNVP.Ack == Ack.SUCCESS)
                {
                    retorno = true;
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #10
0
 /// <summary>
 ///     Adds refund transaction
 /// </summary>
 /// <param name="transaction">The transaction.</param>
 /// <returns>Transaction creation status</returns>
 public async Task <Transaction> AddTransaction(RefundTransaction transaction)
 {
     return(await AddTransaction <Transaction>(transaction));
 }
        private static void RunMethod(string methodName)
        {
            // These are default transaction keys.
            // You can create your own keys in seconds by signing up for a sandbox account here: https://developer.authorize.net/sandbox/
            string apiLoginId     = "5KP3u95bQpv";
            string transactionKey = "4Ktq966gC55GAX7S";

            string transactionAmount;
            string transactionId = string.Empty;

            switch (methodName)
            {
            case "ValidateCustomerPaymentProfile":
                ValidateCustomerPaymentProfile.Run(apiLoginId, transactionKey);
                break;

            case "UpdateCustomerShippingAddress":
                UpdateCustomerShippingAddress.Run(apiLoginId, transactionKey);
                break;

            case "UpdateCustomerProfile":
                UpdateCustomerProfile.Run(apiLoginId, transactionKey);
                break;

            case "UpdateCustomerPaymentProfile":
                UpdateCustomerPaymentProfile.Run(apiLoginId, transactionKey);
                break;

            case "GetCustomerShippingAddress":
                GetCustomerShippingAddress.Run(apiLoginId, transactionKey);
                break;

            case "GetCustomerProfileIds":
                GetCustomerProfileIds.Run(apiLoginId, transactionKey);
                break;

            case "GetCustomerProfile":
                GetCustomerProfile.Run(apiLoginId, transactionKey);
                break;

            case "GetCustomerPaymentProfile":
                GetCustomerPaymentProfile.Run(apiLoginId, transactionKey);
                break;

            case "DeleteCustomerShippingAddress":
                DeleteCustomerShippingAddress.Run(apiLoginId, transactionKey);
                break;

            case "DeleteCustomerProfile":
                DeleteCustomerProfile.Run(apiLoginId, transactionKey);
                break;

            case "DeleteCustomerPaymentProfile":
                DeleteCustomerPaymentProfile.Run(apiLoginId, transactionKey);
                break;

            case "CreateCustomerShippingAddress":
                CreateCustomerShippingAddress.Run(apiLoginId, transactionKey);
                break;

            case "CreateCustomerProfileFromTransaction":
                CreateCustomerProfileFromTransaction.Run(apiLoginId, transactionKey);
                break;

            case "GetTransactionDetails":
                GetTransactionDetails.Run(apiLoginId, transactionKey);
                break;

            case "GetTransactionList":
                GetTransactionList.Run(apiLoginId, transactionKey);
                break;

            //case "CreateAnApplePayTransaction":
            //    CreateAnApplePayTransaction.Run(apiLoginId, transactionKey);
            //    break;
            case "DecryptVisaCheckoutData":
                DecryptVisaCheckoutData.Run(apiLoginId, transactionKey);
                break;

            case "CreateVisaCheckoutTransaction":
                CreateVisaCheckoutTransaction.Run(apiLoginId, transactionKey);
                break;

            case "ChargeCreditCard":
                ChargeCreditCard.Run(apiLoginId, transactionKey);
                break;

            case "CaptureOnly":
                CaptureOnly.Run(apiLoginId, transactionKey);
                break;

            case "CapturePreviouslyAuthorizedAmount":
                Console.WriteLine("Enter An Transaction Amount");
                transactionAmount = Console.ReadLine();

                Console.WriteLine("Enter An Transaction ID");
                transactionId = Console.ReadLine();

                CapturePreviouslyAuthorizedAmount.Run(apiLoginId, transactionKey, Convert.ToDecimal(transactionAmount), transactionId);
                break;

            case "CaptureFundsAuthorizedThroughAnotherChannel":
                CaptureFundsAuthorizedThroughAnotherChannel.Run(apiLoginId, transactionKey);
                break;

            case "AuthorizeCreditCard":
                AuthorizeCreditCard.Run(apiLoginId, transactionKey);
                break;

            case "Refund":
                Console.WriteLine("Enter An Transaction Amount");
                transactionAmount = Console.ReadLine();

                Console.WriteLine("Enter An Transaction ID");
                transactionId = Console.ReadLine();

                RefundTransaction.Run(apiLoginId, transactionKey, Convert.ToDecimal(transactionAmount), transactionId);
                break;

            case "Void":
                Console.WriteLine("Enter An Transaction ID");
                transactionId = Console.ReadLine();

                VoidTransaction.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "DebitBankAccount":
                DebitBankAccount.Run(apiLoginId, transactionKey);
                break;

            case "CreditBankAccount":
                Console.WriteLine("Enter An Transaction ID");
                transactionId = Console.ReadLine();

                CreditBankAccount.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "ChargeCustomerProfile":
                ChargeCustomerProfile.Run(apiLoginId, transactionKey);
                break;

            case "ChargeTokenizedCard":
                ChargeTokenizedCreditCard.Run(apiLoginId, transactionKey);
                break;

            case "PayPalVoid":
                PayPalVoid.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "PayPalAuthorizeCapture":
                PayPalAuthorizeCapture.Run(apiLoginId, transactionKey);
                break;

            case "PayPalAuthorizeCaptureContinue":
                PayPalAuthorizeCaptureContinue.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "PayPalAuthorizeOnly":
                PayPalAuthorizeOnly.Run(apiLoginId, transactionKey);
                break;

            case "PayPalAuthorizeOnlyContinue":
                PayPalAuthorizeCaptureContinue.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "PayPalCredit":
                PayPalCredit.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "PayPalGetDetails":
                PayPalGetDetails.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "PayPalPriorAuthorizationCapture":
                PayPalPriorAuthorizationCapture.Run(apiLoginId, transactionKey, transactionId);
                break;

            case "CancelSubscription":
                CancelSubscription.Run(apiLoginId, transactionKey);
                break;

            case "CreateSubscription":
                CreateSubscription.Run(apiLoginId, transactionKey);
                break;

            case "GetSubscriptionList":
                GetListSubscriptions.Run(apiLoginId, transactionKey);
                break;

            case "GetSubscriptionStatus":
                GetSubscriptionStatus.Run(apiLoginId, transactionKey);
                break;

            case "UpdateSubscription":
                UpdateSubscription.Run(apiLoginId, transactionKey);
                break;

            case "CreateCustomerProfile":
                CreateCustomerProfile.Run(apiLoginId, transactionKey);
                break;

            case "CreateCustomerPaymentProfile":
                CreateCustomerPaymentProfile.Run(apiLoginId, transactionKey);
                break;

            case "GetUnsettledTransactionList":
                GetUnsettledTransactionList.Run(apiLoginId, transactionKey);
                break;

            case "GetBatchStatistics":
                GetBatchStatistics.Run(apiLoginId, transactionKey);
                break;

            case "GetSettledBatchList":
                GetSettledBatchList.Run(apiLoginId, transactionKey);
                break;

            default:
                ShowUsage();
                break;
            }
        }