../credit-account
Integrate to PayEx Credit Account API
Accounts
Request
GET /ledger/credit-account/v1/XXX/accounts HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
If the authorization post succeeds, or if a get method is performed to retrieve an existing authorization, it should respond with something like the following:
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"@id": "/ledger/credit-account/v1/501/accounts/123456",
"accountNo": "1234567",
"startDate": "2016-05-21",
"description": null,
"accountProfileType": "kontodebet | kontokredit | kontofaktura",
"accountAlias" : "kontokredit1 | matkonto1",
"customerNo" : "123789654",
"status" : "open | pending-close | closed",
"creditLimit": 2000.00,
"unpaidBilledAmount" : 200.0,
"debt": 2050.0,
"surplus": 0.0,
"reservedAmount": 50.0,
"availableAmount": 100.0,
"openBill" : {
"amount" : 250.0,
"bill" : "/ledger/credit-account/v1/501/accounts/123456/bills/963",
"dueDate" : "2019-10-10",
"billType" : "Bill"
},
"charityDonation": true,
"interestRate": {
"debtInterest" : 10.00,
"penaltyInterest": 15.00
},
"offer" : "",
"directDebit": "/ledger/credit-account/v1/501/accounts/123456/direct-debit",
"cards": "/ledger/credit-account/v1/501/accounts/123456/cards",
"transactions": "/ledger/credit-account/v1/501/accounts/123456/transactions",
"currency": "sek",
"bills": "/ledger/credit-account/v1/501/accounts/123456/bills",
"customer": "/ledger/customers/v1/501/customer/123456",
"operation" : [
{
"rel" : "add-card-info",
"method" : "post",
"href" : "/ledger/credit-account/v1/501/accounts/123456/cards"
},
{
"rel" : "request-close-account",
"method" : "post",
"href" : "/ledger/credit-account/v1/501/accounts/123456/request-close-account"
},
{
"rel" : "apply-for-raised-credit-limit",
"method" : "post",
"href" : "/ledger/credit-account-onboardings/v1/501/accounts/123456/apply-for-raised-credit-limit"
},
{
"rel" : "lower-credit-limit",
"method" : "patch",
"href" : "/ledger/credit-account-onboardings/v1/501/accounts/123456"
},
{
"rel" : "change-charity-donation",
"method" : "patch",
"href" : "/ledger/credit-account-onboardings/v1/501/accounts/123456"
}
]
}
Content-Type: application/json
{
"@id": "/ledger/credit-account/v1/501/accounts/123456",
"accountNo": "1234567",
"startDate": "2016-05-21",
"description": null,
"accountProfileType": "kontodebet | kontokredit | kontofaktura",
"accountAlias" : "kontokredit1 | matkonto1",
"customerNo" : "123789654",
"status" : "open | pending-close | closed",
"creditLimit": 2000.00,
"unpaidBilledAmount" : 200.0,
"debt": 2050.0,
"surplus": 0.0,
"reservedAmount": 50.0,
"availableAmount": 100.0,
"openBill" : {
"amount" : 250.0,
"bill" : "/ledger/credit-account/v1/501/accounts/123456/bills/963",
"dueDate" : "2019-10-10",
"billType" : "Bill"
},
"charityDonation": true,
"interestRate": {
"debtInterest" : 10.00,
"penaltyInterest": 15.00
},
"offer" : "",
"directDebit": "/ledger/credit-account/v1/501/accounts/123456/direct-debit",
"cards": "/ledger/credit-account/v1/501/accounts/123456/cards",
"transactions": "/ledger/credit-account/v1/501/accounts/123456/transactions",
"currency": "sek",
"bills": "/ledger/credit-account/v1/501/accounts/123456/bills",
"customer": "/ledger/customers/v1/501/customer/123456",
"operation" : [
{
"rel" : "add-card-info",
"method" : "post",
"href" : "/ledger/credit-account/v1/501/accounts/123456/cards"
},
{
"rel" : "request-close-account",
"method" : "post",
"href" : "/ledger/credit-account/v1/501/accounts/123456/request-close-account"
},
{
"rel" : "apply-for-raised-credit-limit",
"method" : "post",
"href" : "/ledger/credit-account-onboardings/v1/501/accounts/123456/apply-for-raised-credit-limit"
},
{
"rel" : "lower-credit-limit",
"method" : "patch",
"href" : "/ledger/credit-account-onboardings/v1/501/accounts/123456"
},
{
"rel" : "change-charity-donation",
"method" : "patch",
"href" : "/ledger/credit-account-onboardings/v1/501/accounts/123456"
}
]
}
Resource properties
Property | Data type | Format | Description |
---|---|---|---|
@id | string | Maxlength: | Uri of the specific account |
accountNo | string | Maxlength: | The identifier of the account |
startDate | date | ISO 8601 | Date when the account was started |
description | string | Maxlength: | A description of the type of account |
accountProfileType | string | Maxlength: | The defined code of the accounttype, Examples: kontodebet, kontokredit, kontofaktura |
accountAlias | string | Maxlength: | A descriptive name for the account type, Examples: kontokredit1, matkonto1 |
customerNo | string | Maxlength: | Identifier of the customer (account owner) |
status | string | Maxlength: | Status of the account pending-close: the customer has requested the account to be closed, the account will be closed when possible. open: the account is open and active closed: the account has been closed |
creditLimit | decimal | Kontots kreditlimit | |
unpaidBilledAmount | decimal | INTERN KOMMENTAR- total aktuell summa av alla balanser på BillingAcc (endast om negativ/skuld, annars 0) -INTERN KOMMENTAR | |
debt | decimal | INTERN KOMMENTAR- total aktuell summa av alla balanser (kapital/ränta/avgifter osv.) på BillingAcc + underliggande CredAccs, OM NEGATIV (skuld) -INTERN KOMMENTAR | |
surplus | decimal | INTERN KOMMENTAR- total aktuell summa av alla balanser (kapital/ränta/avgifter osv.) på BillingAcc + underliggande CredAccs, OM POSITIV (tillgodo) -INTERN KOMMENTAR | |
reservedAmount | decimal | INTERN KOMMENTAR- Summerat belopp på alla utestående reservationer mot kontot (som är giltiga och ej captured) -INTERN KOMMENTAR | |
availableAmount | decimal | INTERN KOMMENTAR- Tillgänglig kredit (kan ej räknas fram utifrån ovan belopp då avgifter kan ingå där, som inte påverkar tillgänglig kredit) -INTERN KOMMENTAR | |
openBill.amount | decimal | ||
openBill.bill | string | Maxlength: | |
openBill.dueDate | date | ISO 8601 | |
openBill.billType | string | Maxlength: | |
charityDonation | bool | ||
interestRate.debtInterest | decimal | ||
interestRate.penaltyInterest | decimal | ||
offer | string | Maxlength: | |
directDebit | string | Maxlength: | |
cards | string | Maxlength: | |
transactions | string | Maxlength: | |
currency | string | Maxlength: | |
bills | string | Maxlength: | |
customer | string | Maxlength: |
Bills
List bills
Request
GET /ledger/credit-account/v1/XXX/accounts/123/bills HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"bills" : [
{ "billDate" : "2018-09-01", "status" : "open", "billAmount" : 374.10, "@id" : "/ledger/credit-account/v1/501/accounts/123456/bills/963" },
{ "billDate" : "2018-08-01", "status" : "closed", "billAmount" : 374.10, "@id" : "/ledger/credit-account/v1/501/accounts/123456/bills/852" },
{ "billDate" : "2018-07-01", "status" : "closed", "billAmount" : 374.10, "@id" : "/ledger/credit-account/v1/501/accounts/123456/bills/741" }
]
}
Content-Type: application/json
{
"bills" : [
{ "billDate" : "2018-09-01", "status" : "open", "billAmount" : 374.10, "@id" : "/ledger/credit-account/v1/501/accounts/123456/bills/963" },
{ "billDate" : "2018-08-01", "status" : "closed", "billAmount" : 374.10, "@id" : "/ledger/credit-account/v1/501/accounts/123456/bills/852" },
{ "billDate" : "2018-07-01", "status" : "closed", "billAmount" : 374.10, "@id" : "/ledger/credit-account/v1/501/accounts/123456/bills/741" }
]
}
Bill resource
Request
GET /ledger/credit-account/v1/XXX/accounts/123/bills/456 HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"@id": "/ledger/credit-account/v1/501/accounts/123456/bills/963",
"externalReference": "123456",
"dueDate": "2018-12-05",
"billNo": "124645",
"amountToBePayed": 240.00,
"billType" : "Bill",
"bankPayment": {
"bankAccountNo": "123",
"bankAccountType": "BGSE",
"bic": "123456",
"iban": "SE12345678945631",
"paymentReference": "1246fdsdf4687613"
},
"activePaymentOrder": {
"paymentType": "BGAGSE",
"executionDate": "2019-01-01",
"amount" : 200.0
},
"pdf": "/ledger/credit-account/v1/501/accounts/123456/bills/963/pdf"
}
Content-Type: application/json
{
"@id": "/ledger/credit-account/v1/501/accounts/123456/bills/963",
"externalReference": "123456",
"dueDate": "2018-12-05",
"billNo": "124645",
"amountToBePayed": 240.00,
"billType" : "Bill",
"bankPayment": {
"bankAccountNo": "123",
"bankAccountType": "BGSE",
"bic": "123456",
"iban": "SE12345678945631",
"paymentReference": "1246fdsdf4687613"
},
"activePaymentOrder": {
"paymentType": "BGAGSE",
"executionDate": "2019-01-01",
"amount" : 200.0
},
"pdf": "/ledger/credit-account/v1/501/accounts/123456/bills/963/pdf"
}
Property | Data type | Format | Description |
---|---|---|---|
@id | string | ||
externalReference | string | ||
dueDate | date | ||
billNo | string | ||
amountToBePayed | decimal | ||
billType | string | ||
bankPayment.bankAccountNo | string | ||
bankPayment.bankAccountType | string | ||
bankPayment.bic | string | ||
bankPayment.iban | string | ||
bankPayment.paymentReference | string | ||
activePaymentOrder.paymentType | string | ||
activePaymentOrder.executionDate | date | ||
activePaymentOrder.amount | decimal | beroende på directdebittype så kan denna vara beräknad vid varje hämtning (utifrån ev. delbet) | |
string | Url to download pdf |
Direct-debit
Request
POST /ledger/credit-account/v1/XXX/accounts/123/direct-debit HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"@id" : "/ledger/credit-account/v1/501/accounts/123456/direct-debit",
"directDebitType" : "fixedRecurring | totalDebt | billedAmount | onDemand",
"fixedRecurringAmount" : 1500.00,
"parentHREF": "/ledger/credit-account/v1/501/accounts/123456"
}
Content-Type: application/json
{
"@id" : "/ledger/credit-account/v1/501/accounts/123456/direct-debit",
"directDebitType" : "fixedRecurring | totalDebt | billedAmount | onDemand",
"fixedRecurringAmount" : 1500.00,
"parentHREF": "/ledger/credit-account/v1/501/accounts/123456"
}
Property | Data type | Format | Description |
---|---|---|---|
directDebitType | string | Can be either of the following: fixedRecurring | totalDebt | billedAmount | onDemand | |
fixedRecurringAmount | decimal | Only valid if FixedRecurring (amount to monthly debit consumers bankaccount) |
Cards
Request
POST /ledger/credit-account/v1/XXX/accounts/123/cards HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"cards" : [
{"PanTrunc" : "85479**********648", "@id" : "/ledger/credit-account/v1/501/accounts/123456/cards/741"},
{"PanTrunc" : "12345**********456", "@id" : "/ledger/credit-account/v1/501/accounts/123456/cards/742"}
]
}
Content-Type: application/json
{
"cards" : [
{"PanTrunc" : "85479**********648", "@id" : "/ledger/credit-account/v1/501/accounts/123456/cards/741"},
{"PanTrunc" : "12345**********456", "@id" : "/ledger/credit-account/v1/501/accounts/123456/cards/742"}
]
}
Request
POST /ledger/credit-account/v1/XXX/accounts/123/cards/456 HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"token": "954c8699-b38f-47a2-b568-668b8837dad8",
"PanTrunc": "85479*********648",
"deleted" : false,
"mainCard": true,
"cardHolder" : {
"number" : "123465",
"name": "test testsson",
"nationalConsumerIdentifier": {
"value": "19101010-1010",
"countryCode": "SE"
}
},
"@id": "/ledger/credit-account/v1/501/accounts/123456/cards/741",
"parentHREF": "/ledger/credit-account/v1/501/accounts/123456",
"operation" : [
{
"rel" : "delete-card-info",
"method" : "patch",
"href" : "/ledger/credit-account/v1/501/accounts/123456/cards/741"
}
]
}
Content-Type: application/json
{
"token": "954c8699-b38f-47a2-b568-668b8837dad8",
"PanTrunc": "85479*********648",
"deleted" : false,
"mainCard": true,
"cardHolder" : {
"number" : "123465",
"name": "test testsson",
"nationalConsumerIdentifier": {
"value": "19101010-1010",
"countryCode": "SE"
}
},
"@id": "/ledger/credit-account/v1/501/accounts/123456/cards/741",
"parentHREF": "/ledger/credit-account/v1/501/accounts/123456",
"operation" : [
{
"rel" : "delete-card-info",
"method" : "patch",
"href" : "/ledger/credit-account/v1/501/accounts/123456/cards/741"
}
]
}
Property | Data type | Format | Description |
---|---|---|---|
token | string | token identifier of the card | |
panTrunc | string | truncated PAN | |
deleted | bool | ||
mainCard | bool | main card of the account (cardholder is always owner of account) | |
cardHolder.number | string | ||
cardHolder.name | string | ||
cardHolder.nationalConsumerIdentifier.value | string | ||
cardHolder.nationalConsumerIdentifier.countryCode | string |
Transactions
Request
POST /ledger/credit-account/v1/XXX/accounts/123/transactions HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"operations": null,
"items": [
{
"type": "payment",
"description": "",
"amount": 200.00,
"billed": false|true,
"date": "2019-10-09",
"reserveDate": null
},
{
"type": "purchase",
"description": "testbutiken, köpref. 12345689",
"amount": 200.00,
"billed": false|true,
"date": "2019-10-09",
"reserveDate": "2019-10-05",
},
{
"type": "credit",
"description": "",
"amount": 200.00,
"billed": false|true,
"date": "2019-10-09",
"reserveDate": "2019-10-05"
}
],
"@id": "/ledger/credit-account/v1/501/accounts/123456/transactions?fromDate=2019-10-01",
"view": {
"@id": "/ledger/credit-account/v1/501/accounts/123456/transactions?fromDate=2019-10-01&$top=2&$skip=0",
"next": "/ledger/credit-account/v1/501/accounts/123456/transactions?fromDate=2019-10-01&$top=2&$skip=2"
}
}
Content-Type: application/json
{
"operations": null,
"items": [
{
"type": "payment",
"description": "",
"amount": 200.00,
"billed": false|true,
"date": "2019-10-09",
"reserveDate": null
},
{
"type": "purchase",
"description": "testbutiken, köpref. 12345689",
"amount": 200.00,
"billed": false|true,
"date": "2019-10-09",
"reserveDate": "2019-10-05",
},
{
"type": "credit",
"description": "",
"amount": 200.00,
"billed": false|true,
"date": "2019-10-09",
"reserveDate": "2019-10-05"
}
],
"@id": "/ledger/credit-account/v1/501/accounts/123456/transactions?fromDate=2019-10-01",
"view": {
"@id": "/ledger/credit-account/v1/501/accounts/123456/transactions?fromDate=2019-10-01&$top=2&$skip=0",
"next": "/ledger/credit-account/v1/501/accounts/123456/transactions?fromDate=2019-10-01&$top=2&$skip=2"
}
}
Property | Data type | Format | Description |
---|---|---|---|
type | string | (transactionTypeGroup) | |
description | string | ||
amount | decimal | ||
billed | bool | ||
date | date | Valuedate |
Reservations
Request
POST /ledger/credit-account/v1/XXX/accounts/123/reservations HTTP/1.1
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Host: -
Authorization: Bearer <Token>
Content-Type: application/json
Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"operations": null,
"items": [
{
"amount": 200.00,
"description" : "",
"date": "2019-10-05",
},
{
"amount": 450.00,
"description" : "",
"date": "2019-10-02",
},
],
"@id": "/ledger/credit-account/v1/501/accounts/123456/reservations",
}
Content-Type: application/json
{
"operations": null,
"items": [
{
"amount": 200.00,
"description" : "",
"date": "2019-10-05",
},
{
"amount": 450.00,
"description" : "",
"date": "2019-10-02",
},
],
"@id": "/ledger/credit-account/v1/501/accounts/123456/reservations",
}
Property | Data type | Format | Description |
---|---|---|---|
amount | decimal | ||
description | string | ||
date | date |
Problems
If an error occur or any validation failed, a "problem" response will be returned.
Below is a list of problems that can occur:
HttpStatus 401 Unauthorized
- Token expired
- Token invalid
- SellerNumber does not match token
- CompanyNumber does not match token
HttpStatus 400 Error
- Validation: Argument required
- Validation: Invalid value
HttpStatus 422 Unprocessable entity
- Authorization declined
HttpStatus 409 Conflict
- Invoice already authorized
- Duplicate InvoiceNumber
- Authorization is cancelled
- Authorization already captured
- Authorization has expired
- Insufficient debited amount XXX
HttpStatus 501 NotImplemented
- CompanyNumber XXX not configured
- SellerNumber XXX not configured at PayEx
- CompanyNumber XXX missing configuration
HttpStatus 404 NotFound
- Authorization not found
Below is an example of a problem that will be returned if buyer.nationalConsumerIdentifier.value is not valid in the authorization post request.
Response
HTTP/1.1 400 Error
Content-Type: application/problem+json
{
"Type": "http://[DNS]/ledger/invoice-purchase/problems/validation",
"Title": "A validation error occurred",
"Status": 400,
"Instance": null,
"Detail": "A validation error occurred. Please fix the problems mentioned in the 'problems' property below.",
"Problems": [
{
"buyer.nationalConsumerIdentifier.value": "Not a valid SE nationalConsumerIdentifier"
}
]
}
Content-Type: application/problem+json
{
"Type": "http://[DNS]/ledger/invoice-purchase/problems/validation",
"Title": "A validation error occurred",
"Status": 400,
"Instance": null,
"Detail": "A validation error occurred. Please fix the problems mentioned in the 'problems' property below.",
"Problems": [
{
"buyer.nationalConsumerIdentifier.value": "Not a valid SE nationalConsumerIdentifier"
}
]
}