Ejemplo n.º 1
0
        public void TestRefund()
        {
            PaymentRequest req = new PaymentRequest()
            {
                TransactionType = TransactionTypes.Sale,
                PaymentMethod   = new PaymentRequestMethod()
                {
                    PaymentType = PaymentTypes.Card,
                    PAN         = this.testPan,
                    ExpMonth    = this.testExpMonth,
                    ExpYear     = this.testExpYear
                },
                Amount          = 100,
                Currency        = "352",
                OrderId         = "IntegrTest01",
                TransactionDate = DateTime.Now
            };

            RPGClient client = new RPGClient(this.config.AppSettings.Settings["PrivateToken"].Value, this.uri);
            PaymentTransactionResponse response = client.Payment.CreateAsync(req).Result;

            Assert.AreEqual((int)HttpStatusCode.Created, response.StatusCode);

            PaymentRefundResponse cancelResponse = client.Payment.RefundAsync(response.Transaction.TransactionId).Result;

            Assert.AreEqual(200, cancelResponse.StatusCode);

            cancelResponse = client.Payment.RefundAsync(response.Transaction.TransactionId).Result;
            Assert.AreEqual(400, cancelResponse.StatusCode);
        }
Ejemplo n.º 2
0
        public void TestRefundTransaction()
        {
            RPGClient             client   = new RPGClient("myKey", "http://www.borgun.is/", new HttpMessageHandlerMock());
            PaymentRefundResponse response = client.Payment.RefundAsync("TestTransaction").Result;

            Assert.AreEqual((int)HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(response.Result);
            Assert.AreEqual("TestTransaction", response.Result.TransactionId);
        }
Ejemplo n.º 3
0
        public async Task <PaymentRefundResponse> RefundAsync(string transactionId)
        {
            PaymentRefundResponse paymentRes = new PaymentRefundResponse();
            HttpResponseMessage   httpRes    = await this.client.PutAsync("api/payment/" + transactionId + "/refund", null);

            paymentRes.StatusCode = (int)httpRes.StatusCode;

            if (httpRes.IsSuccessStatusCode)
            {
                paymentRes.Result = await httpRes.Content.ReadAsAsync <RefundAuthorizationResponse>();
            }
            else
            {
                paymentRes.Message = await httpRes.Content.ReadAsStringAsync();
            }

            return(paymentRes);
        }