From 4914c1087f54c50811cd213c57ff8734a9ade8da Mon Sep 17 00:00:00 2001 From: Laura Date: Mon, 13 Jan 2025 09:31:59 +0200 Subject: [PATCH 1/5] removes handelsbanken --- docs/README.md | 2 +- docs/payment-method-providers.md | 45 ++++++++++++++++---------------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/docs/README.md b/docs/README.md index 04aefb7..1e8fe1b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -308,7 +308,7 @@ Note, that at the moment HTTP 400 may occur also for 3rd party reasons - e.g. be ```json { - "provider": "handelsbanken", + "provider": "spankki", "status": "ok", "transactionId": "258ad3a5-9711-44c3-be65-64a0ef462ba3" } diff --git a/docs/payment-method-providers.md b/docs/payment-method-providers.md index ae6ff56..ae4cc65 100644 --- a/docs/payment-method-providers.md +++ b/docs/payment-method-providers.md @@ -6,29 +6,28 @@ The payment methods that can be tested without real money transactions have been `checkout-provider` values are provided too, but they are subject to change without notice. -| Provider | `checkout-provider` | Credentials | -| ---------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------- | -| Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | -| OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | -| Handelsbanken
POP Pankki
Säästöpankki
OmaSP | `handelsbanken`
`pop`
`saastopankki`
`omasp` | Username: `11111111`
Password: `123456`
Security code: `123456` | -| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | -| S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | -| Danske | `danske` | Danske test account login requires using real Danske credentials | -| Visa | `creditcard` | See table below | -| Mastercard | `creditcard` | See table below | -| American Express | `amex` | Card number: `373953192351004`
Expiry date: `12/2026`
CVC: `1004` | -| Apple Pay | `apple-pay` | Requires using real Apple Pay credentials and hosted payment gateway | -| Walley/Collector
Walley/Collector B2B | `collectorb2c`
`collectorb2b` | Social security number: `010380-000P` | -| Pivo | `pivo` | Testing is not possible | -| MobilePay | `mobilepay` | Testing is not possible | -| Siirto | `siirto` | Testing is not possible | -| OP Lasku | `oplaskuV1` | Testing is not possible | -| OP Tililuotto | `op-tililuotto` | Testing is not possible | -| Jousto | `jousto` | Testing is not possible | -| Ålandsbanken | `alandsbanken` | Testing is not possible | -| Nordea B2B | `nordea-business` | Testing is not possible | -| Danske B2B | `danske-business` | Testing is not possible | -| PayPal | `paypal` | Testing is not possible | +| Provider | `checkout-provider` | Credentials | +| ---------------------------------------- | -------------------------------- | ----------------------------------------------------------------------- | +| Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | +| OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | +| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | +| S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | +| Danske | `danske` | Danske test account login requires using real Danske credentials | +| Visa | `creditcard` | See table below | +| Mastercard | `creditcard` | See table below | +| American Express | `amex` | Card number: `373953192351004`
Expiry date: `12/2026`
CVC: `1004` | +| Apple Pay | `apple-pay` | Requires using real Apple Pay credentials and hosted payment gateway | +| Walley/Collector
Walley/Collector B2B | `collectorb2c`
`collectorb2b` | Social security number: `010380-000P` | +| Pivo | `pivo` | Testing is not possible | +| MobilePay | `mobilepay` | Testing is not possible | +| Siirto | `siirto` | Testing is not possible | +| OP Lasku | `oplaskuV1` | Testing is not possible | +| OP Tililuotto | `op-tililuotto` | Testing is not possible | +| Jousto | `jousto` | Testing is not possible | +| Ålandsbanken | `alandsbanken` | Testing is not possible | +| Nordea B2B | `nordea-business` | Testing is not possible | +| Danske B2B | `danske-business` | Testing is not possible | +| PayPal | `paypal` | Testing is not possible | ## Test cards for payments From 6f75eeff5a18e1d2139f1c91afe95be6f060cb48 Mon Sep 17 00:00:00 2001 From: Laura Date: Mon, 13 Jan 2025 13:35:17 +0200 Subject: [PATCH 2/5] pop and saastopankki credentials --- docs/payment-method-providers.md | 45 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/docs/payment-method-providers.md b/docs/payment-method-providers.md index ae4cc65..81f316c 100644 --- a/docs/payment-method-providers.md +++ b/docs/payment-method-providers.md @@ -6,28 +6,29 @@ The payment methods that can be tested without real money transactions have been `checkout-provider` values are provided too, but they are subject to change without notice. -| Provider | `checkout-provider` | Credentials | -| ---------------------------------------- | -------------------------------- | ----------------------------------------------------------------------- | -| Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | -| OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | -| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | -| S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | -| Danske | `danske` | Danske test account login requires using real Danske credentials | -| Visa | `creditcard` | See table below | -| Mastercard | `creditcard` | See table below | -| American Express | `amex` | Card number: `373953192351004`
Expiry date: `12/2026`
CVC: `1004` | -| Apple Pay | `apple-pay` | Requires using real Apple Pay credentials and hosted payment gateway | -| Walley/Collector
Walley/Collector B2B | `collectorb2c`
`collectorb2b` | Social security number: `010380-000P` | -| Pivo | `pivo` | Testing is not possible | -| MobilePay | `mobilepay` | Testing is not possible | -| Siirto | `siirto` | Testing is not possible | -| OP Lasku | `oplaskuV1` | Testing is not possible | -| OP Tililuotto | `op-tililuotto` | Testing is not possible | -| Jousto | `jousto` | Testing is not possible | -| Ålandsbanken | `alandsbanken` | Testing is not possible | -| Nordea B2B | `nordea-business` | Testing is not possible | -| Danske B2B | `danske-business` | Testing is not possible | -| PayPal | `paypal` | Testing is not possible | +| Provider | `checkout-provider` | Credentials | +| ---------------------------------------- | --------------------------------- | ----------------------------------------------------------------------- | +| Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | +| OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | +| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | +| POP Pankki
Säästöpankki
OmaSP | pop`
`saastopankki`
`omasp` | Username: `11111111`
Password: `123456`
Security code: `123456` | +| S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | +| Danske | `danske` | Danske test account login requires using real Danske credentials | +| Visa | `creditcard` | See table below | +| Mastercard | `creditcard` | See table below | +| American Express | `amex` | Card number: `373953192351004`
Expiry date: `12/2026`
CVC: `1004` | +| Apple Pay | `apple-pay` | Requires using real Apple Pay credentials and hosted payment gateway | +| Walley/Collector
Walley/Collector B2B | `collectorb2c`
`collectorb2b` | Social security number: `010380-000P` | +| Pivo | `pivo` | Testing is not possible | +| MobilePay | `mobilepay` | Testing is not possible | +| Siirto | `siirto` | Testing is not possible | +| OP Lasku | `oplaskuV1` | Testing is not possible | +| OP Tililuotto | `op-tililuotto` | Testing is not possible | +| Jousto | `jousto` | Testing is not possible | +| Ålandsbanken | `alandsbanken` | Testing is not possible | +| Nordea B2B | `nordea-business` | Testing is not possible | +| Danske B2B | `danske-business` | Testing is not possible | +| PayPal | `paypal` | Testing is not possible | ## Test cards for payments From 29368a769aea24b476ed11c404bbc73b7f678d98 Mon Sep 17 00:00:00 2001 From: Laura Date: Mon, 13 Jan 2025 13:38:43 +0200 Subject: [PATCH 3/5] added missing ` --- docs/payment-method-providers.md | 46 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/payment-method-providers.md b/docs/payment-method-providers.md index 81f316c..5c51a34 100644 --- a/docs/payment-method-providers.md +++ b/docs/payment-method-providers.md @@ -6,29 +6,29 @@ The payment methods that can be tested without real money transactions have been `checkout-provider` values are provided too, but they are subject to change without notice. -| Provider | `checkout-provider` | Credentials | -| ---------------------------------------- | --------------------------------- | ----------------------------------------------------------------------- | -| Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | -| OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | -| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | -| POP Pankki
Säästöpankki
OmaSP | pop`
`saastopankki`
`omasp` | Username: `11111111`
Password: `123456`
Security code: `123456` | -| S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | -| Danske | `danske` | Danske test account login requires using real Danske credentials | -| Visa | `creditcard` | See table below | -| Mastercard | `creditcard` | See table below | -| American Express | `amex` | Card number: `373953192351004`
Expiry date: `12/2026`
CVC: `1004` | -| Apple Pay | `apple-pay` | Requires using real Apple Pay credentials and hosted payment gateway | -| Walley/Collector
Walley/Collector B2B | `collectorb2c`
`collectorb2b` | Social security number: `010380-000P` | -| Pivo | `pivo` | Testing is not possible | -| MobilePay | `mobilepay` | Testing is not possible | -| Siirto | `siirto` | Testing is not possible | -| OP Lasku | `oplaskuV1` | Testing is not possible | -| OP Tililuotto | `op-tililuotto` | Testing is not possible | -| Jousto | `jousto` | Testing is not possible | -| Ålandsbanken | `alandsbanken` | Testing is not possible | -| Nordea B2B | `nordea-business` | Testing is not possible | -| Danske B2B | `danske-business` | Testing is not possible | -| PayPal | `paypal` | Testing is not possible | +| Provider | `checkout-provider` | Credentials | +| ---------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------- | +| Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | +| OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | +| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | +| POP Pankki
Säästöpankki
OmaSP | `pop`
`saastopankki`
`omasp` | Username: `11111111`
Password: `123456`
Security code: `123456` | +| S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | +| Danske | `danske` | Danske test account login requires using real Danske credentials | +| Visa | `creditcard` | See table below | +| Mastercard | `creditcard` | See table below | +| American Express | `amex` | Card number: `373953192351004`
Expiry date: `12/2026`
CVC: `1004` | +| Apple Pay | `apple-pay` | Requires using real Apple Pay credentials and hosted payment gateway | +| Walley/Collector
Walley/Collector B2B | `collectorb2c`
`collectorb2b` | Social security number: `010380-000P` | +| Pivo | `pivo` | Testing is not possible | +| MobilePay | `mobilepay` | Testing is not possible | +| Siirto | `siirto` | Testing is not possible | +| OP Lasku | `oplaskuV1` | Testing is not possible | +| OP Tililuotto | `op-tililuotto` | Testing is not possible | +| Jousto | `jousto` | Testing is not possible | +| Ålandsbanken | `alandsbanken` | Testing is not possible | +| Nordea B2B | `nordea-business` | Testing is not possible | +| Danske B2B | `danske-business` | Testing is not possible | +| PayPal | `paypal` | Testing is not possible | ## Test cards for payments From 1038cf05fffaa34c66aa4a774c502771736b2202 Mon Sep 17 00:00:00 2001 From: Laura Date: Mon, 13 Jan 2025 13:39:53 +0200 Subject: [PATCH 4/5] updated order of payment method provider table --- docs/payment-method-providers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/payment-method-providers.md b/docs/payment-method-providers.md index 5c51a34..2e33ed4 100644 --- a/docs/payment-method-providers.md +++ b/docs/payment-method-providers.md @@ -10,8 +10,8 @@ The payment methods that can be tested without real money transactions have been | ---------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------- | | Nordea | `nordea` | Username: `123456`
Password: `1111`
Security code: any | | OP | `osuuspankki` | No credentials needed, will not present an UI on OP side | -| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | | POP Pankki
Säästöpankki
OmaSP | `pop`
`saastopankki`
`omasp` | Username: `11111111`
Password: `123456`
Security code: `123456` | +| Aktia | `aktia` | Username: `12345678`
Password: `123456`
Security code: `1234` | | S-Pankki | `spankki` | Username: `12345678`
Password: `9999`
Security code: `1234` | | Danske | `danske` | Danske test account login requires using real Danske credentials | | Visa | `creditcard` | See table below | From d670d8034b1b22771e67e8772fb2bc6236271fd9 Mon Sep 17 00:00:00 2001 From: Laura Date: Tue, 4 Nov 2025 14:08:48 +0200 Subject: [PATCH 5/5] list all available report fields fro payment report api --- docs/README.md | 36 +++++++++++++------------- docs/paytrail-api.yaml | 59 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 19 deletions(-) diff --git a/docs/README.md b/docs/README.md index 1e8fe1b..b8b7c36 100644 --- a/docs/README.md +++ b/docs/README.md @@ -786,17 +786,17 @@ A Shop-in-Shop aggregate merchant can also fetch its submerchant's payment repor `HTTP POST /payments/report` results in a callback containing the payment report. -| Field | Type | Required | Default | Description | -| ------------- | -------- | ------------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| requestType | string |
x
| | In which format will the response be delivered in, currently supported are `json` and `csv`. | -| callbackUrl | string |
x
| | The url the system will send the report to as a `POST` request. | -| paymentStatus | string |
| `default` | How are the payments statuses filtered. `default` includes both paid and settled payments, `paid` includes paid payments that have not been settled yet, `all` includes everything, for example unpaid or failed payments and `settled` only includes settled payments. | -| startDate | string |
| | Only trades created after this datetime will be included in the report. Expects date as `ISO` format. | -| endDate | string |
| | Only trades created before this datetime will be included in the report. Expects date as `ISO` format. | -| limit | integer |
| `50000` | Limit the amount of payments included in the report. Maximum 50000. | -| reportFields | string[] |
| all | Limit the fields that will be included in the report. Leaving this empty will include all fields. Possible values: `entryDate`, `created`, `amount`, `status`, `firstname`, `familyname`, `description`, `reference`, `paymentMethod`, `stamp`, `address`, `postcode`, `postoffice`, `country`, `checkoutReference`, `archiveNumber`, `payerName`, `settlementId`, `settlementDate`, `settlementReference`, `originalTradeReference`, `vatPercentage`, `vatAmount`, `paymentMethodFee`, `paymentMethodCommission`, `shopInShopCommission`, `shopInShopCommissionVatPercentage`, `shopInShopCommissionVatAmount`, `companyName`, `vatId` and `refunditems` | -| submerchant | integer |
| | Get submerchant's payment report (aggregate only) | -| includeItems | boolean |
| false | Include trade items in generated report. Only applicable when requestType is set to `json` | +| Field | Type | Required | Default | Description | +| ------------- | -------- | ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| requestType | string |
x
| | In which format will the response be delivered in, currently supported are `json` and `csv`. | +| callbackUrl | string |
x
| | The url the system will send the report to as a `POST` request. | +| paymentStatus | string |
| `default` | How are the payments statuses filtered. `default` includes both paid and settled payments, `paid` includes paid payments that have not been settled yet, `all` includes everything, for example unpaid or failed payments and `settled` only includes settled payments. | +| startDate | string |
| | Only trades created after this datetime will be included in the report. Expects date as `ISO` format. | +| endDate | string |
| | Only trades created before this datetime will be included in the report. Expects date as `ISO` format. | +| limit | integer |
| `50000` | Limit the amount of payments included in the report. Maximum 50000. | +| reportFields | string[] |
| all | Limit the fields that will be included in the report. Leaving this empty will include all fields. Possible values: `address`, `archiveNumber`, `checkoutReference`, `companyName`, `country`, `created`, `entryDate`, `amount`, `familyname`, `firstname`, `originalTradeReference`, `payerName`, `paymentMethod`, `paymentMethodCommission`, `paymentMethodFee`, `postcode`, `postoffice`, `reference`, `refunditems`, `settlementDate`, `settlementDueDate`, `settlementId`, `settlementReference`, `shopInShopCommission`, `shopInShopCommissionVatAmount`, `shopInShopCommissionVatPercentage`, `stamp`, `status`, `tradeitems`, `transactionId`, `vatAmount`, `vatId` | +| submerchant | integer |
| | Get submerchant's payment report (aggregate only) | +| includeItems | boolean |
| false | Include trade items in generated report. Only applicable when requestType is set to `json` | #### Response @@ -870,13 +870,13 @@ Example of the refunditems serialised into CSV `HTTP POST /settlements/:id/payments/report` results in a callback containing the payment report. -| Field | Type | Required | Default | Description | -| ------------ | -------- | ------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| requestType | string |
x
| | In which format will the response be delivered in, currently supported are `json` and `csv`. | -| callbackUrl | string |
x
| | The url the system will send the report to as a `POST` request. Callback URLs must use HTTPS. | -| reportFields | string[] |
| all | Limit the fields that will be included in the report. Leaving this empty will include all fields. Possible values: `entryDate`, `created`, `amount`, `status`, `firstname`, `familyname`, `description`, `reference`, `paymentMethod`, `stamp`, `address`, `postcode`, `postoffice`, `country`, `checkoutReference`, `archiveNumber`, `payerName`, `settlementId`, `settlementDate`, `settlementReference`, `originalTradeReference`, `vatPercentage`, `vatAmount`, `paymentMethodFee`, `paymentMethodCommission`, `shopInShopCommission`, `shopInShopCommissionVatPercentage` and `shopInShopCommissionVatAmount` | -| submerchant | integer |
| | Get submerchant's payment report (aggregate only) | -| includeItems | boolean |
| false | Include trade items in generated report. Only applicable when requestType is set to `json` | +| Field | Type | Required | Default | Description | +| ------------ | -------- | ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| requestType | string |
x
| | In which format will the response be delivered in, currently supported are `json` and `csv`. | +| callbackUrl | string |
x
| | The url the system will send the report to as a `POST` request. Callback URLs must use HTTPS. | +| reportFields | string[] |
| all | Limit the fields that will be included in the report. Leaving this empty will include all fields. Possible values: `address`, `archiveNumber`, `checkoutReference`, `companyName`, `country`, `created`, `entryDate`, `amount`, `familyname`, `firstname`, `originalTradeReference`, `payerName`, `paymentMethod`, `paymentMethodCommission`, `paymentMethodFee`, `postcode`, `postoffice`, `reference`, `refunditems`, `settlementDate`, `settlementDueDate`, `settlementId`, `settlementReference`, `shopInShopCommission`, `shopInShopCommissionVatAmount`, `shopInShopCommissionVatPercentage`, `stamp`, `status`, `tradeitems`, `transactionId`, `vatAmount`, `vatId` | +| submerchant | integer |
| | Get submerchant's payment report (aggregate only) | +| includeItems | boolean |
| false | Include trade items in generated report. Only applicable when requestType is set to `json` | #### Response diff --git a/docs/paytrail-api.yaml b/docs/paytrail-api.yaml index 2556c30..7d585e8 100644 --- a/docs/paytrail-api.yaml +++ b/docs/paytrail-api.yaml @@ -1859,7 +1859,7 @@ components: properties: type: type: string - description: Card type, for example ‘Visa’ + description: Card type, for example 'Visa' example: Visa partial_pan: type: string @@ -2149,6 +2149,11 @@ components: shopInShopCommission, shopInShopCommissionVatPercentage, shopInShopCommissionVatAmount, + settlementReference, + transactionId, + settlementDueDate, + companyName, + vatId, refunditems, tradeitems, ] @@ -2504,6 +2509,13 @@ components: shopInShopCommission, shopInShopCommissionVatPercentage, shopInShopCommissionVatAmount, + settlementReference, + transactionId, + settlementDueDate, + companyName, + vatId, + refunditems, + tradeitems, ] submerchant: type: integer @@ -2645,6 +2657,51 @@ components: type: string description: Contains a `|` (pipe) -delimited list of *stamp*:*amount* pairs. Pairs are delimited by a `:` (colon). Stamp refers to the payment item's stamp that was refunded. example: 'stamp1:400|stamp2:200' + settlementReference: + type: string + description: Settlement reference + example: '45667372' + transactionId: + type: string + description: Assigned transaction ID for the payment + example: '5770642a-9a02-4ca2-8eaa-cc6260a78eb6' + settlementDueDate: + type: string + description: When the payment settlement is due + format: DD-MM-YYYY + example: '2019-04-10' + tradeitems: + type: array + description: Trade items included in the payment + items: + type: object + properties: + stamp: + type: string + description: Payment item stamp + amount: + type: number + description: Item amount in cents + description: + type: string + description: Item description + vat: + type: number + description: VAT percentage + code: + type: string + description: Product code + quantity: + type: number + description: Quantity + companyName: + type: string + description: Company name + example: 'Example company' + vatId: + type: string + description: Company VAT ID in international format + example: 'FI02454583' GroupedPaymentProvidersResponse: description: List grouped providers response body