コード例 #1
0
        public async Task Test_Payout()
        {
            var john = await this.GetJohn();

            var wallet = (await Api.Clients.GetWalletsAsync(FundsType.FEES, new Pagination(1, 10))).FirstOrDefault();

            var account = new BankAccountIbanPostDTO(john.FirstName + " " + john.LastName, john.Address, "FR7618829754160173622224154")
            {
                UserId = john.Id,
                BIC    = "CMBRFR2BCME"
            };

            var result = await Api.Clients.CreateBankAccountIbanAsync(account);

            var payOut = new WalletPayoutDTO
            {
                BankAccountId = result.Id,
                BankWireRef   = "invoice 7282",
                DebitedFunds  = new Money
                {
                    Amount   = 12,
                    Currency = CurrencyIso.EUR
                },
                DebitedWalletId = wallet.Id,
                Tag             = "DefaultTag"
            };

            var bankWire = await this.Api.Clients.CreatePayoutAsync(payOut);

            Assert.NotNull(bankWire);
            Assert.NotNull(bankWire.Id);
        }
コード例 #2
0
        public async Task <PayOutBankWireDTO> CreatePayOut(int userId, long debited)
        {
            var    user = _context.Users.Where(u => u.Id == userId).FirstOrDefault();
            string authorId;
            string debitedWalletId;
            Money  debitedFunds = new Money();
            Money  fees         = new Money();
            string bankAccountId;
            string bankWireRef;

            debitedWalletId = user.WalletId;
            var wallet = await _mangoPayApi.Wallets.Get(debitedWalletId);

            authorId = wallet.Owners[0];


            //-------------------------------------------------//////////////
            // temporaire creation d'un compte bancaire
            var bankAccounts = await _mangoPayApi.Users.GetBankAccounts(authorId);

            if (bankAccounts.Count == 0)
            {
                MangoPay.SDK.Entities.Address adress = new MangoPay.SDK.Entities.Address();
                adress.AddressLine1 = "1 Mangopay Street ";
                adress.AddressLine2 = "The Loop";
                adress.City         = "Paris";
                adress.Country      = CountryIso.FR;
                adress.Region       = "Ile de France";
                adress.PostalCode   = "75001";
                string iban = "FR7630004000031234567890143";
                BankAccountIbanPostDTO bankacount = new BankAccountIbanPostDTO("John doe", adress, iban);
                var Bankid = await _mangoPayApi.Users.CreateBankAccountIban(authorId, bankacount);

                bankAccountId = Bankid.Id;
            }
            else
            {
                bankAccountId = bankAccounts[0].Id;
            }
            // ---------------------------------------- ////////

            debitedFunds.Amount   = debited * 100;
            debitedFunds.Currency = CurrencyIso.EUR;
            fees.Amount           = 0;
            fees.Currency         = CurrencyIso.EUR;

            bankWireRef = "testAUTO";
            PayOutBankWirePostDTO payOut = new PayOutBankWirePostDTO(authorId, debitedWalletId, debitedFunds, fees, bankAccountId, bankWireRef);

            var transferObject = await CreateTransfertMoney(_stirblockCantonmentWalletId, debitedWalletId, debitedFunds.Amount, fees.Amount);

            var payOutResult = await _mangoPayApi.PayOuts.CreateBankWire(payOut);

            return(payOutResult);
        }
コード例 #3
0
ファイル: BaseTest.cs プロジェクト: gcollic/mangopay2-net-sdk
 protected BankAccountIbanDTO GetJohnsAccount()
 {
     if (BaseTest._johnsAccount == null)
     {
         UserNaturalDTO         john    = this.GetJohn();
         BankAccountIbanPostDTO account = new BankAccountIbanPostDTO(john.FirstName + " " + john.LastName, john.Address, "FR76 1790 6000 3200 0833 5232 973");
         account.UserId         = john.Id;
         account.BIC            = "BINAADADXXX";
         BaseTest._johnsAccount = this.Api.Users.CreateBankAccountIban(john.Id, account);
     }
     return(BaseTest._johnsAccount);
 }
コード例 #4
0
 protected BankAccountIbanDTO GetJohnsAccount(bool recreate = false)
 {
     if (BaseTest._johnsAccount == null || recreate)
     {
         UserNaturalDTO         john    = this.GetJohn();
         BankAccountIbanPostDTO account = new BankAccountIbanPostDTO(john.FirstName + " " + john.LastName, john.Address, "FR7618829754160173622224154");
         account.UserId         = john.Id;
         account.BIC            = "CMBRFR2BCME";
         BaseTest._johnsAccount = this.Api.Users.CreateBankAccountIban(john.Id, account);
     }
     return(BaseTest._johnsAccount);
 }
コード例 #5
0
        public void Test_Idempotency_UsersCreateBankAccountsIban()
        {
            string         key     = DateTime.Now.Ticks.ToString();
            UserNaturalDTO john    = this.GetJohn();
            var            account = new BankAccountIbanPostDTO(john.FirstName + " " + john.LastName, john.Address,
                                                                "FR7618829754160173622224154");

            account.UserId = john.Id;
            account.BIC    = "CMBRFR2BCME";
            Api.Users.CreateBankAccountIban(key, john.Id, account);

            var result = Api.Idempotency.Get(key);

            Assert.IsInstanceOf <BankAccountIbanDTO>(result.Resource);
        }
コード例 #6
0
        public async Task Test_BankAccountCreation()
        {
            var john = await this.GetJohn();

            var account = new BankAccountIbanPostDTO(john.FirstName + " " + john.LastName, john.Address, "FR7618829754160173622224154")
            {
                UserId = john.Id,
                BIC    = "CMBRFR2BCME"
            };

            var result = await Api.Clients.CreateBankAccountIbanAsync(account);

            Assert.NotNull(result);
            Assert.AreEqual(result.Type, BankAccountType.IBAN);
            Assert.NotNull(result.Id);
        }
コード例 #7
0
 /// <summary>Creates IBAN bank account.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="userId">User identifier.</param>
 /// <param name="bankAccount">Bank account instance to be created.</param>
 /// <returns>Bank account instance returned from API.</returns>
 public BankAccountIbanDTO CreateBankAccountIban(String idempotencyKey, String userId, BankAccountIbanPostDTO bankAccount)
 {
     return(this.CreateObject <BankAccountIbanDTO, BankAccountIbanPostDTO>(idempotencyKey, MethodKey.UsersCreateBankAccountsIban, bankAccount, userId));
 }
コード例 #8
0
 /// <summary>Creates IBAN bank account.</summary>
 /// <param name="userId">User identifier.</param>
 /// <param name="bankAccount">Bank account instance to be created.</param>
 /// <returns>Bank account instance returned from API.</returns>
 public BankAccountIbanDTO CreateBankAccountIban(String userId, BankAccountIbanPostDTO bankAccount)
 {
     return(CreateBankAccountIban(null, userId, bankAccount));
 }
コード例 #9
0
 /// <summary>Creates IBAN bank account.</summary>
 /// <param name="userId">User identifier.</param>
 /// <param name="bankAccount">Bank account instance to be created.</param>
 /// <returns>Bank account instance returned from API.</returns>
 public async Task <BankAccountIbanDTO> CreateBankAccountIban(String userId, BankAccountIbanPostDTO bankAccount)
 {
     return(await CreateBankAccountIban(null, userId, bankAccount));
 }
コード例 #10
0
        public async Task <BankAccountIbanDTO> CreateBankAccountIban(string idempotencyKey, string userId, BankAccountIbanPostDTO bankAccount)
        {
            var targetUrl = $"{_baseUrl}/users/{userId}/bankaccounts/iban";

            return(await CreateEntity <BankAccountIbanDTO, BankAccountIbanPostDTO>(targetUrl, bankAccount));
        }
コード例 #11
0
 public BankAccountIbanDTO CreateBankAccountIban(BankAccountIbanPostDTO bankAccount)
 {
     return(this.CreateObject <BankAccountIbanDTO, BankAccountIbanPostDTO>(null, MethodKey.ClientBankAccount, bankAccount));
 }
コード例 #12
0
 public async Task <BankAccountIbanDTO> CreateBankAccountIbanAsync(BankAccountIbanPostDTO bankAccount)
 {
     return(await this.CreateObjectAsync <BankAccountIbanDTO, BankAccountIbanPostDTO>(null, MethodKey.ClientBankAccount, bankAccount));
 }
コード例 #13
0
 public async Task <BankAccountIbanDTO> CreateBankAccountIbanAsync(string idempotencyKey, BankAccountIbanPostDTO bankAccount)
 {
     return(await this.CreateObjectAsync <BankAccountIbanDTO, BankAccountIbanPostDTO>(idempotencyKey, MethodKey.ClientBankAccount, bankAccount));
 }