This application provides an API backend to do payments using iDeal for the IRMA iDeal issuer.
Use it like this:
go-ideal-server server <host>:<port>
You will need to set up a configuration directory. This is config/
by default
(relative to the current working directory) but you can set a different
directory using the -config
flag. It needs to have the following entries:
-
A configuration file named
config.json
. Copy the contents ofconfig.example.json
and modify as appropriate:-
static_dir
is a directory you can serve (as the root directory). Useful for debugging. -
enable_tls
makes sure server is run over https -
tls_certificate
is the file path to the TLS certificate when TLS is enabled) -
tls_private_key
is the file path to the private key of the TLS certificate (when TLS is enabled) -
ideal_path_prefix
is the URL prefix that the HTTP server will listen on for the API. -
ideal_server_name
is the server name as configured in the IRMA API server. -
ideal_base_url
,ideal_merchant_id
,ideal_sub_id
must be provided by your bank. -
ideal_return_url
is the URL of the web front end that the bank will return to. -
ideal_acquirer_cert
is the path to the certificate of the bank you're trying to connect to, relative to the configuration directory. Your bank should provide this certificate. At the bank this certificate is sometimes branded as merchant certificate, because merchants have to use it. It is however the certificate of the bank.The certificate must be a PEM-encoded X509 certificate. To test whether the key has the right format, the following command can be used:
openssl x509 -in <filename> -inform pem
. -
ideal_merchant_cert
is the certificate (public key) of the key pair that is used to send messages to the bank as a merchant. This certificate also has to be uploaded at the bank.The certificate must be a PEM-encoded X509 certificate. To test whether the key has the right format, the following command can be used:
openssl x509 -in <filename> -inform pem
. -
ideal_merchant_sk
is the private key corresponding toideal_merchant_cert
. The key must be in non-encrypted, PEM-encoded PKCS1 format or in non-encrypted, PEM-encoded PKCS8 format.To test whether the key has the right format, one of the following commands must accept the key:
openssl rsa -in <filename> -inform pem
openssl pkcs8 -in <filename> -inform pem -nocrypt
All paths must be relative to the configuration directory.
-