コード例 #1
0
        public async Task <IActionResult> WithdrawAsync([FromBody] WithdrawTransactionRequest request)
        {
            var createTransactionRequest = new CreateTransactionRequest
            {
                Bundle = request.BundleId
            };

            var createTransactionResponse = await _cashierServiceClient.CreateTransactionAsync(createTransactionRequest);

            try
            {
                var createPaypalPayoutRequest = new CreatePaypalPayoutRequest
                {
                    Email       = request.Email,
                    Transaction = createTransactionResponse.Transaction
                };

                await _paymentServiceClient.CreatePaypalPayoutAsync(createPaypalPayoutRequest);

                return(this.Ok());
            }
            catch (RpcException exception)
            {
                var cancelTransactionRequest = new CancelTransactionRequest
                {
                    TransactionId = createTransactionResponse.Transaction.Id
                };

                await _cashierServiceClient.CancelTransactionAsync(cancelTransactionRequest);

                throw exception.Capture();
            }
        }
コード例 #2
0
ファイル: AuthenticatedApi.cs プロジェクト: Brainman643/Exmo
        public Task <WithdrawTransaction> GetWithdrawTransactionAsync(long taskId, CancellationToken cancellationToken = default)
        {
            var request = new WithdrawTransactionRequest
            {
                TaskId = taskId
            };

            return(_client.PostAsync <WithdrawTransaction>("withdraw_get_txid", request, cancellationToken));
        }