aboutsummaryrefslogtreecommitdiff
path: root/contrib/taler-nexus-prepare
blob: 6a36387d987c79f1a0ff4ab674208b8c9268e6b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#!/bin/bash

set -eu

# EBICS details
EBICS_URL="http://localhost:5000/ebicsweb"
HOST_ID="HOST01"
PARTNER_ID="PARTNER1"
USER_ID="USER1"

# This is used _both_ at Sandbox and at Nexus.
# Basically, Nexus imports the offered bank account
# using the same name used by the Sandbox.
BANK_ACCOUNT_LABEL="my-bank-account"
BANK_CONNECTION_LABEL="my-bank-connection"
FACADE_LABEL="my-facade"

export LIBEUFIN_SANDBOX_USERNAME=exchange
export LIBEUFIN_SANDBOX_PASSWORD=x
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
libeufin-cli sandbox demobank register --name "Exchange Company"

export LIBEUFIN_SANDBOX_USERNAME=fortytwo
export LIBEUFIN_SANDBOX_PASSWORD=x
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
libeufin-cli sandbox demobank register \
  --name User42 --iban FR7630006000011234567890189

export LIBEUFIN_SANDBOX_USERNAME=fortythree
export LIBEUFIN_SANDBOX_PASSWORD=x
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
libeufin-cli sandbox demobank register \
  --name User43 --iban GB33BUKB20201555555555

export LIBEUFIN_SANDBOX_USERNAME=admin
export LIBEUFIN_SANDBOX_PASSWORD=secret
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
echo -n "Create EBICS host at Sandbox..."
libeufin-cli sandbox \
  --sandbox-url "http://localhost:5000" \
  ebicshost create --host-id $HOST_ID
echo " OK"

echo -n "Create exchange EBICS subscriber at Sandbox..."
libeufin-cli sandbox \
  demobank new-ebicssubscriber --host-id $HOST_ID \
  --user-id $USER_ID --partner-id $PARTNER_ID \
  --bank-account exchange # that's a username _and_ a bank account name
echo " OK"
unset LIBEUFIN_SANDBOX_USERNAME
unset LIBEUFIN_SANDBOX_PASSWORD
unset LIBEUFIN_SANDBOX_URL

export LIBEUFIN_NEXUS_USERNAME=exchange
export LIBEUFIN_NEXUS_PASSWORD=x
export LIBEUFIN_NEXUS_URL=http://localhost:5001/

echo -n "Create the exchange (super)user at Nexus..."
libeufin-nexus superuser exchange --password x
echo " DONE"

echo -n "Creating a EBICS connection at Nexus..."
libeufin-cli connections new-ebics-connection \
  --ebics-url $EBICS_URL \
  --host-id $HOST_ID \
  --partner-id $PARTNER_ID \
  --ebics-user-id $USER_ID \
  $BANK_CONNECTION_LABEL
echo " OK"

echo -n "Setup EBICS keying..."
libeufin-cli connections connect $BANK_CONNECTION_LABEL > /dev/null
echo " OK"

echo -n "Download bank account name from Sandbox..."
libeufin-cli connections download-bank-accounts $BANK_CONNECTION_LABEL
echo " OK"

echo -n "Importing bank account info into Nexus..."
libeufin-cli connections import-bank-account \
  --offered-account-id exchange \
  --nexus-bank-account-id $BANK_ACCOUNT_LABEL \
  $BANK_CONNECTION_LABEL
echo " OK"

echo -n "Create the Taler facade at Nexus..."
libeufin-cli facades \
  new-taler-wire-gateway-facade \
  --currency KUDOS --facade-name $FACADE_LABEL \
  $BANK_CONNECTION_LABEL $BANK_ACCOUNT_LABEL
echo " DONE"

echo -n Setup payments submission task..
# Tries every second.
libeufin-cli accounts task-schedule \
  --task-type submit \
  --task-name exchange-payments \
  --task-cronspec "* * *" \
  $BANK_ACCOUNT_LABEL
echo OK
# Tries every second.  Ask C52
echo -n Setup history fetch task..
libeufin-cli accounts task-schedule \
  --task-type fetch \
  --task-name exchange-history \
  --task-cronspec "* * *" \
  --task-param-level report \
  --task-param-range-type latest \
  $BANK_ACCOUNT_LABEL
echo OK

# unset, in case the script gets 'source'd.
unset LIBEUFIN_NEXUS_USERNAME
unset LIBEUFIN_NEXUS_PASSWORD
unset LIBEUFIN_NEXUS_URL