Edit

Changes

There are 3 types of changes: transaction, subscriber and charge. All fields are always present except when explicitly stated and have valid default values.

Transaction

Transactions are manual payments made directly through the payment window.

JSON fields Description
"type": "transaction" Type denoting that this is a transaction.
"id": 378 The transaction ID.
"rev": 3 A revision number. It starts at 1 and it increments every time the transaction data changes.
"locked": "u7812#4" Whether or not this transaction has been made immutable and if so, which API key was responsible.
"method": { "type": "card", "id": "WkS3rJht/unginSCpOEwqVtH6SJWt4+StC8TWl+kP6w=", "card": { "brand": "visadankort", "last4": "1234" } }
  • type: The method that was used to authorize the transaction. Currently "card", "mobilepay", or "applepay".
  • id: A shop-wide unique opaque ID representing the credit card or other payment device.
  • card: Data identifying the credit card used. Note that all currently supported payment methods are technically credit cards so regardless of type you will get a card object. More may be introduced in the future, so you cannot rely on card always being available.
    • brand: "amex", "dankort", "diners", "discover", "forbrugsforening", "jcb", "maestro", "mastercard", "unionpay", "visa", "visadankort"
    • last4: The last 4 digits of the card number.
"services": [ "mobilepay", "3dsecurev2", "clearhaus-3" ]

A list of the services used when authorizing the transaction.

Currently "3dsecurev2", "applepay", and "mobilepay" are supported. Additionally, "3dsecure" and "dsbn" can appear on older transactions.

The acquiring agreement used is also present in the form "clearhaus-2", "nets-1", and so on, matching what you see in the dashboard.

"info": { "ip": "127.250.74.142", "ndisplay": 2, "nfail": 0 }

Information about how the payer interacted with the payment window.

  • ip: The IP address of the client that successfully paid.
  • ndisplay: How many times the window was displayed before payment was successful.
  • nfail: How many unsuccessful payments attempts were made.
"time": { "created": 1727088810, "authorized": 1727088919 }

Unix timestamps denoting:

  • created: when the payment link was created and
  • authorized: when the payment was successfully authorized.
"orderid": "00029384", The order ID that you assigned to the transaction when creating the payment link.
"billing": { "name": "Peter Nielsen", "company": "Nielsen A/S", "vatin": "DK91738264", "gln": "7953878173521", "email": "pn@nielsenas.dk", "phone": "+45 90014893", "address": [ "Pederstrupvej 14" ], "city": "Teststrup", "zip": "8320", "state": "", "country": "Denmark" } "shipping": { "name": "Peter Nielsen", "company": "Nielsen A/S", "email": "pn@nielsenas.dk", "phone": "+45 90014893", "address": [ "C/O Peter Nielsen", "Pederstrupvej 14" ], "city": "Teststrup", "zip": "8320", "state": "", "country": "Denmark" } The shipping and billing addresses that were given when creating the payment link.
"items": [ { "quantity": 2, "total": "199.90 DKK", "name": "Danmarkskort plakat", "sku": "182932000-MAP-DK" }, { "quantity": 1, "total": "45 DKK", "name": "Fragt - PostNord", "sku": "" }, { "quantity": 1, "total": "0.50 DKK", "name": "", "sku": "" } ] The array of items that were given when creating the payment link.
Note: the "quantity" field defaults to 1 if none was specified.
"acts": [ { "act": "capture", "time": 1727109740, "who": "s1286#1", "total": "244.90 DKK", "history": [ { "item": 0, "quantity": 2, "total": "199.90 DKK" }, { "item": 1, "quantity": 1, "total": "45 DKK" } ] }, { "act": "refund", "time": 1727196369, "who": "u7812#3", "total": "99.95 DKK", "history": [ { "item": 7, "quantity": 190, "total": "12 DKK" } ] } ]

A chronologically ordered array of actions performed on this transaction. There are 3 types of actions:

  • capture: Some or all of the authorized funds were captured.
  • refund: Some or all of the capturd funds were refunded.
  • void: The entire authorization was invalidated. This action can only be present if it is the first and only action in the array.

The other fields are:

  • time: The Unix time at which the action completed.
  • who: The API key that initiated the action.
  • total: The total amount that was captured, refunded, or voided.
  • history: Freeform structured data about the items related to this action.

The "history" array contains metadata about the action which is used in the dashboard to show, for example, which items have been captured. The data is not checked for correctness and may be invalid or missing.

"totals": { "attempted": "245.40 DKK", "authorized": "245.40 DKK", "captured": "244.90 DKK", "refunded": "99.95 DKK", "voided": "0 DKK", "left": "0.50 DKK" }

The sum totals of all actions performed on this transaction.

  • attempted: The sum total of all items.
  • authorized: How much was originally authorized. This can differ from how much you attempted to authorize.
  • captured: How much has been captured so far.
  • refunded: How much has been refunded so far.
  • voided: How much has been voided. Voiding is an all-or-nothing operation, so this must either be zero or the same as authorized.
  • left: How much is still left to capture.

Charge

Charges are transactions without payment window data and with some extra information about the subscriber that was charged.

JSON fields Description
"type": "charge" Type denoting that this transaction is a subscriber charge.
"info": {} Since the subscriber never interacted with the payment window to create this transaction, this element is not returned.
"subscriber": { "id": 192, "rev": 5, "ref": "a-1083" }
  • id: The ID of the subscriber.
  • rev: The revision the subscriber had when the charge was made.
  • ref: The reference data you supplied when creating the subscriber.

Subscriber

Subscribers are stored payment credentials that can be charged by the shop.

JSON fields Description
"type": "subscriber" Type denoting that this is a subscriber.
"id": 19 The subscriber ID.
"rev": 2 A revision number. It starts at 1 and it increments every time the subscriber data changes.
"ref": "user301" The reference that you assigned to the subscriber when you created it.
"method": { "type": "card", "id": "I2hfG55UvlDvAwzW8aVec1049giH0Z1ZEPlGYMPiCac=", "card": { "brand": "mastercard", "last4": "2847", "exp": 1848700800 } }
  • type: The method that was used to authorize the transaction. Currently "card" or "applepay".
  • id: A shop-wide unique opaque ID representing the credit card or other payment device.
  • card: Data identifying the credit card used. Note that all currently supported payment methods are technically credit cards so regardless of type you will get a card object. More may be introduced in the future, so you cannot rely on card always being available.
    • brand: "amex", "dankort", "diners", "discover", "forbrugsforening", "jcb", "maestro", "mastercard", "unionpay", "visa", "visadankort"
    • last4: The last 4 digits of the card number.
    • exp: A Unix timestamp denoting the expected last possible valid use time of the card.
"services": [ "3dsecurev2", "nets-1" ]

A list of the services used when first creating or last renewing the subscriber.

Currently "3dsecurev2" and "applepay" are supported. Additionally, "3dsecure" and "dsbn" can appear on older transactions.

The acquiring agreement used is also present in the form "shift4-1", "nets-2", and so on, matching what you see in the dashboard.

"time": { "created": 1715259306, "authorized": 1715259314 }

Unix timestamps denoting:

  • created: when the payment link that created this subscriber was created and
  • authorized: when the first subscription authorization succeeded.
"info": { "ip": "2001:1450:400f:804::200e" }

Information about the payer whose credentials got stored when first creating or last renewing the subscriber.

  • ip: The IP address of the client that successfully entered payment credentials.
"billing": { "name": "Anne Jensen", "company": "", "vatin": "", "gln": "", "email": "anne@gmail.com", "phone": "80781943", "address": [ "Hans Christiansvænge 99", "Postboks 401" ], "city": "Neder Vindinge", "zip": "4760", "state": "", "country": "" } "shipping": { "name": "", "company": "", "email": "", "phone": "", "address": [], "city": "", "zip": "", "state": "", "country": "" } The shipping and billing addresses that were supplied when creating or last renewing the subscriber.
"acts": [ { "act": "renew", "time": 1757573571, "services": [ "3dsecurev2", "nets-2" ] } ]

A chronologically ordered array of actions performed on this subscriber. There is currently only 1 type of action:

  • renew: The stored credentials were updated.

The other fields are:

  • time: The Unix time at which the renewal succeeded.
  • services: The list of services used when renewing.