public void CaptureCharge_Success() { _createChargeRequest.CardDetails = _workingCard; Charge createChargeResponse = _service.CreateCharge(_createChargeRequest).Content; Assert.IsTrue(createChargeResponse.State == ChargeState.Authorized); CaptureChargeRequest captureRequest = new CaptureChargeRequest(); captureRequest.ChargeId = createChargeResponse.Id; captureRequest.Amount = createChargeResponse.Amount; CaptureChargeResponse captureResponse = _service.CaptureCharge(captureRequest).Content; Assert.AreEqual(createChargeResponse.Id, captureResponse.ChargeId); Assert.AreEqual(createChargeResponse.Amount, captureResponse.ChargeAmount); Assert.IsTrue(captureResponse.State == ChargeState.Captured); GetChargeRequest getChargeRequest = new GetChargeRequest(); getChargeRequest.ChargeId = captureRequest.ChargeId; Charge charge = _service.GetCharge(getChargeRequest).Content; Assert.AreEqual(charge.CapturedAmount, captureResponse.CapturedAmount); Assert.IsTrue(charge.State == ChargeState.Captured); }
/// <summary> /// Capture payment on a Charge in the Authorized state. /// </summary> /// <returns>ChargeResponse response</returns> public ChargeResponse CaptureCharge(string chargeId, CaptureChargeRequest captureRequest, Dictionary <string, string> headers = null) { var apiPath = apiUrlBuilder.BuildFullApiPath(Constants.ApiServices.Default, Constants.Resources.WebStore.Charges, chargeId, Constants.Methods.Capture); var apiRequest = new ApiRequest(apiPath, HttpMethod.POST, captureRequest, headers); var result = CallAPI <ChargeResponse>(apiRequest); return(result); }
public void CanCaptureCharge() { mockClient.Protected().As <IClientMapping>() .Setup(c => c.ProcessRequest <ChargeResponse>(It.IsAny <ApiRequest>(), It.IsAny <Dictionary <string, string> >())) .Returns((ApiRequest request, Dictionary <string, string> headers) => AssertPreProcessRequestFlow <ChargeResponse>(request, headers, HttpMethod.POST, $"{Constants.Resources.WebStore.Charges}/{checkoutSessionIdToTest}/capture")); var testRequest = new CaptureChargeRequest(10, Currency.USD); var result = mockClient.Object.CaptureCharge(checkoutSessionIdToTest, testRequest); }
public void ChargesCaptureTest() { // TODO uncomment below to test the method and replace null with proper value string id = null; CaptureChargeRequest body = null; string idempotencyKey = null; var response = instance.ChargesCapture(id, body, idempotencyKey); Assert.IsInstanceOf <Charge> (response, "response is Charge"); }
public void CanConstructWithAllPropertiesInitializedAsExpected() { // act var request = new CaptureChargeRequest(12.99M, Currency.EUR); // assert Assert.IsNotNull(request); Assert.IsNotNull(request.CaptureAmount); Assert.AreEqual(12.99, request.CaptureAmount.Amount); Assert.IsNull(request.SoftDescriptor); }
public void CanConvertToJsonMinimal() { // arrange var request = new CaptureChargeRequest(12.99M, Currency.EUR); // act string json = request.ToJson(); string json2 = request.ToJson(); // assert Assert.AreEqual(json, json2); Assert.AreEqual("{\"captureAmount\":{\"amount\":12.99,\"currencyCode\":\"EUR\"}}", json); }
public void CanConvertToJsonFull() { // arrange var request = new CaptureChargeRequest(12.99M, Currency.EUR); request.SoftDescriptor = "foo"; // act string json = request.ToJson(); string json2 = request.ToJson(); // assert Assert.AreEqual(json, json2); Assert.AreEqual("{\"captureAmount\":{\"amount\":12.99,\"currencyCode\":\"EUR\"},\"softDescriptor\":\"foo\"}", json); }
public void CaptureCharge_ChargeAlreadyCaptured_Fails() { _createChargeRequest.CardDetails = _workingCard; _createChargeRequest.Capture = true; Charge createChargeResponse = _service.CreateCharge(_createChargeRequest).Content; CaptureChargeRequest captureRequest = new CaptureChargeRequest(); captureRequest.ChargeId = createChargeResponse.Id; captureRequest.Amount = createChargeResponse.Amount; ApiResponse <CaptureChargeResponse> captureResponse = _service.CaptureCharge(captureRequest); Assert.IsTrue(captureResponse.IsError); Assert.IsTrue(captureResponse.Error.Type == ErrorType.Request); Assert.AreEqual("Only authorized charges can be captured.", captureResponse.Error.Message); }
public void CaptureCharge_WithMoreThanAuthorized_Fails() { _createChargeRequest.CardDetails = _workingCard; Charge createChargeResponse = _service.CreateCharge(_createChargeRequest).Content; Assert.IsTrue(createChargeResponse.State == ChargeState.Authorized); CaptureChargeRequest captureRequest = new CaptureChargeRequest(); captureRequest.ChargeId = createChargeResponse.Id; captureRequest.Amount = createChargeResponse.Amount + 200; ApiResponse <CaptureChargeResponse> captureResponse = _service.CaptureCharge(captureRequest); Assert.IsTrue(captureResponse.IsError); Assert.IsTrue(captureResponse.Error.Type == ErrorType.Request); Assert.AreEqual("Request params are invalid.", captureResponse.Error.Message); }
public ApiResponse <CaptureChargeResponse> CaptureCharge(CaptureChargeRequest request) { ApiResponse <CaptureChargeResponse> response = SendApiRequest <CaptureChargeRequest, CaptureChargeResponse>(request); return(response); }