Skip to main content

Create sandbox card accounts

POST 

/v1/sandbox/card-accounts

Create a card account for use with testing in the sandbox api. customerNumber connects a customer as a owner to this account. However creating an account has different implications for private and corporate users.

Private customers will have this account automatically added to their agreement so it will show up in the account list for the user.

Corporate customers needs to add accounts to agreements explicitly through POST /v1/sandbox/agreements to see the account in the account list.

Request

Header Parameters

    Content-Type string

    Advertises what type of data is actually sent.

    Accept string

    Advertises which content types, expressed as MIME types, the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the Content-Type response header.

    Example: application/json
    Accept-Charset string

    Advertises which character set the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice within the Content-Type response header.

    Example: utf-8
    Accept-Encoding string

    Advertises which content encoding, usually a compression algorithm, the client is able to understand. Using content negotiation, the server selects one of the proposals, uses it and informs the client of its choice with the Content-Encoding response header.

    Example: deflate, gzip;q=1.0, *;q=0.5
    Accept-Language string

    Advertises which natural languages the client is able to understand, and which locale variant is preferred. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the Content-Language response header.

    Example: en-US,en;q=0.7,nb;q=0.3
    Host string

    The domain name of the server (for virtual hosting), and (optionally) the TCP port number on which the server is listening.

    Example: openbanking.sbm.no
    X-Request-ID stringrequired

    Request identifier, unique to the call, as determined by the TPP.

    Example: 4eba4445-1a4b-47b8-bdd5-4e56ef026b19
    Digest stringrequired

    Base64 encoded sha256 or sha512 hash of the message body, used with the signature.

    The Digest header is defined by RFC3230 and sha256/sha512 si defined by RFC5843.

    Example: MIFFTzCCAzegAkIBAgMJANnQVDLqktJUMA0GCS....8WLZOabcX3YxNoH4k==
    TPP-Signature-Certificate stringrequired

    The certificate used for signing the request in base64 encoding.

    Example: MIFFTzCCAzegAkIBAgMJANnQVDLqktJUMA0GCS....8WLZOX3YxNoH4k==
    Signature stringrequired

    HTTP Message Signature as specified by https://tools.ietf.org/html/draft-cavage-http-signatures-10 with requirements imposed by Berlin Group's NextGenPSD2 Framework.

    • keyId must be formatted as keyId="SN=XXX,CA=YYY" where XXX is the serial number of the signing certificate in hexadecimal encoding and YYY is the full Distinguished Name of the Certificate Authority having certificate
    • algorithm must identify the same algorithm for the signature as presented in the signing certificate and should be rsa-sha256
    • headers must contain date, digest, x-request-id, psu-id, psu-corporate-id, and tpp-redirect-uri when available
    • signature must be computed as Base64(RSA-SHA256(signingString))

    If any values in the Signature header is ISO-8859-1 or UTF-8 encoded you need to URL encode the Signature header according to RFC 2047 which means MIME encoding the signature.

    Also the signature must be wrapped using this format: =?charset?encoding?encoded signature?=

    Example of this encoding: =?utf-8?B?a2V5QTQsQ0E9Mi41LjQuOTc9IzB........jMTM1MDUzNDQ0ZTRmMmQ0NjUz?=

    Java example of how to implement encoding:

    if (charset.equals(StandardCharsets.UTF_8)) {
    Signature = String.format("=?utf-8?B?%s?=", Base64.getEncoder().encodeToString(signature.getBytes(StandardCharsets.UTF_8)));
    }
    Example: keyId="SN=6AEB4444FBAAD267,CA=O=PSDNO-FSA-ABCA,L=Trondheim,C=NO", algorithm="rsa-sha256", headers="date x-request-id tpp-redirect-uri psu-id", signature="***************"

Body

required

    customerNumber stringrequired
    maskedPan stringrequired
    currency stringrequired

    creditLimit

    object

    required

    currency stringrequired
    amount int32required

    balances

    object[]

    required

  • Array [

  • balanceAmount

    object

    required

    currency stringrequired
    amount int32required
    balanceType stringrequired

    Possible values: [closingBooked, expected]

  • ]

  • cardId stringrequired
    cardIdVNo stringrequired
    accountNumber stringrequired
    expiry stringrequired
    name stringrequired
    product stringrequired
    status stringrequired

    Possible values: [enabled, deleted, blocked]

Responses

Schema

    resourceId stringrequired
    customerNumber stringrequired
    maskedPan stringrequired
    currency stringrequired

    creditLimit

    object

    required

    currency stringrequired
    amount int32required

    balances

    object[]

    required

  • Array [

  • balanceAmount

    object

    required

    currency stringrequired
    amount int32required
    balanceType stringrequired

    Possible values: [closingBooked, expected]

  • ]

  • cardId stringrequired
    cardIdVNo stringrequired
    accountNumber stringrequired
    expiry stringrequired
    name stringrequired
    product stringrequired
    status stringrequired

    _links

    object

    required

    self

    object

    required

    href stringrequired
    verbs string[]required

    transactions

    object

    required

    href stringrequired
    verbs string[]required
Loading...