private async Task ShouldInitiateAndRetrieveTransferOfFunds() { var createTransferRequest = new CreateTransferRequest { Source = new TransferSourceRequest { Amount = 100, Id = "ent_kidtcgc3ge5unf4a5i6enhnr5m" }, Destination = new TransferDestinationRequest { Id = "ent_w4jelhppmfiufdnatam37wrfc4" }, TransferType = TransferType.Commission }; var createTransferResponse = await DefaultApi.TransfersClient().InitiateTransferOfFunds(createTransferRequest); createTransferResponse.ShouldNotBeNull(); createTransferResponse.Id.ShouldNotBeNullOrEmpty(); createTransferResponse.Status.ShouldNotBeNull(); createTransferResponse.Links.ShouldNotBeNull(); createTransferResponse.Links.ShouldNotBeEmpty(); var transferDetailsResponse = await DefaultApi.TransfersClient().RetrieveATransfer(createTransferResponse.Id); transferDetailsResponse.ShouldNotBeNull(); transferDetailsResponse.Status.ShouldNotBeNull(); transferDetailsResponse.TransferType.ShouldNotBeNull(); transferDetailsResponse.RequestedOn.ShouldNotBeNull(); transferDetailsResponse.Source.ShouldNotBeNull(); transferDetailsResponse.Source.EntityId.ShouldNotBeNull(); transferDetailsResponse.Destination.ShouldNotBeNull(); transferDetailsResponse.Destination.EntityId.ShouldNotBeNull(); }
public async Task <CreateTransferResponse> InitiateTransferOfFunds(CreateTransferRequest createTransferRequest, string idempotencyKey = null, CancellationToken cancellationToken = default) { CheckoutUtils.ValidateParams("createTransferRequest", createTransferRequest); return(await ApiClient.Post <CreateTransferResponse>(TransfersPath, SdkAuthorization(SdkAuthorizationType.OAuth), createTransferRequest, cancellationToken, idempotencyKey)); }
public async Task ShouldInitiateTransferOfFunds() { var createTransferRequest = new CreateTransferRequest { Reference = "Reference" }; var createTransferResponse = new CreateTransferResponse(); _apiClient.Setup(x => x.Post <CreateTransferResponse>("transfers", It.IsAny <SdkAuthorization>(), createTransferRequest, It.IsAny <CancellationToken>(), It.IsAny <string>())) .ReturnsAsync(createTransferResponse); var response = await _transfersClient.InitiateTransferOfFunds(createTransferRequest); response.ShouldNotBeNull(); response.ShouldBe(createTransferResponse); }
private async Task ShouldInitiateTransferOfFundsIdempotently() { var createTransferRequest = new CreateTransferRequest { Source = new TransferSourceRequest { Amount = 100, Id = "ent_kidtcgc3ge5unf4a5i6enhnr5m" }, Destination = new TransferDestinationRequest { Id = "ent_w4jelhppmfiufdnatam37wrfc4" }, TransferType = TransferType.Commission }; var idempotencyKey = Guid.NewGuid().ToString(); var createTransferResponse = await DefaultApi.TransfersClient().InitiateTransferOfFunds(createTransferRequest, idempotencyKey); createTransferResponse.ShouldNotBeNull(); createTransferResponse.Id.ShouldNotBeNullOrEmpty(); createTransferResponse.Status.ShouldNotBeNull(); createTransferResponse.Links.ShouldNotBeNull(); createTransferResponse.Links.ShouldNotBeEmpty(); try { await DefaultApi.TransfersClient().InitiateTransferOfFunds(createTransferRequest, idempotencyKey); } catch (Exception ex) { ex.ShouldNotBeNull(); ex.ShouldBeAssignableTo(typeof(CheckoutApiException)); ex.Message.ShouldBe("The API response status code (409) does not indicate success."); } }