Inputs (Array[] of WithdrawalCashOrder) inherits from EntityBase

Name

Type

Description

Mandatory

Available from version

BrickId

Guid

Not used.



AccountNo

String

This is the account number of the SystemAccount which the withdrawal concerns.

Example: 15654

True


IsPercent

Bool

This defines if the number in Amount should be read as a percentage number or a currency number.

True


Amount

Decimal

This is the amount which should be withdrawn from the account. A negative amount is not allowed.

Example: 1000

To get the maximal amount to take out is the value on AvailableAmount from the endpoint GetPositions.

True


CurrencyCode

String

This the ISO-currency code of the withdrawal.

Example: SEK

True


ExternalReference

String

This can be any combination of characters which is used by the sender to link information between BFS and external systems

Example: 465465456 (as the transaction ID of the external system)

True


TransferReceiver

Guid

The BFS-id of the TransferReceiver. From version 2.20.1 you will only be able to use transfer receivers of type BankGiro, DirectBankDomestic and Bic/IBAN.

Support for NorwegianPostGiro and NorwegianBankAccount (2024-03-20)

True


Outputs

Name

Type

Description

Available from version

Orders

Array

This is an array where each item represents the individual withdrawal orders which were created from the withdrawal request. The Array includes:

ExternalReference (the external reference received from the requester)

OrderId (this is the GUID order id of the withdrawal order in BFS)

OrderNo (this is a string in number format which represents the OrderId)



Return object
{    
     Orders: 
		[
          {
               ExternalReference: String
               OrderId: GUID
               OrderNo: String			  
          }
     ]
}


XML request example
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <CreateWithdrawalCashOrders xmlns="http://tempuri.org/">
      <req>
        <Credentials>
          <UserName>yourusername</UserName>
          <Password>yourpassword</Password>
        </Credentials>
        <identify>youridentifier</identify>
        <Entities>
          <WithdrawalCashOrder>
            <BrickId>00000000-0000-0000-0000-000000000000</BrickId>
            <AccountNo>31231</AccountNo>
            <IsPercent>false</IsPercent>
            <CurrencyCode>SEK</CurrencyCode>
            <Amount>1000</Amount>
            <TransferReceiver>d0d31975-2315-4018-bf56-c2d551c15342</TransferReceiver>
          </WithdrawalCashOrder>
        </Entities>
      </req>
    </CreateWithdrawalCashOrders>
  </s:Body>
</s:Envelope>

Code Examples

C# - Create a Withdrawal Cash Order in a BFS instance
//Create two withdrawals with the WithdrawalCashOrder method
            var client = new BFSServiceReference.bfsapiSoapClient();

var credentials = new BFSServiceReference.Credentials()
{
    UserName = bfsusername, //Username of administrative user in your instance of BFS
    Password = bfspassword, //Password of the administrative user in your instance of BFS
};

var response = client.CreateWithdrawalCashOrders(new BFSServiceReference.CreateWithdrawalCashOrderRequest()
{
    Credentials = credentials,

    identify = bfsidentifier, //Identifier is a unique token for your instance of BFS        

    Entities = new[]
    {
        new WithdrawalCashOrder()
        {
            AccountNo = "10000883",
            IsPercent = false,
            Amount = 100,
            CurrencyCode = "SEK",
            ExternalReference = "Test1",
            TransferReceiver = new Guid("28dcb516-1a64-42d6-a886-b83bde5e81bf")
        },
        new WithdrawalCashOrder()
        {
            AccountNo = "10000883",
            IsPercent = false,
            Amount = 110,
            CurrencyCode = "SEK",
            ExternalReference = "Test2",
            TransferReceiver = new Guid("28dcb516-1a64-42d6-a886-b83bde5e81bf")
        }
    }

});

foreach (var c in response.Entities)
{
    Console.WriteLine(c.AccountNo);
}