diff --git a/.github/workflows/create-gh-pages.yml b/.github/workflows/create-gh-pages.yml index 3200662..cfa6f8b 100644 --- a/.github/workflows/create-gh-pages.yml +++ b/.github/workflows/create-gh-pages.yml @@ -17,7 +17,7 @@ jobs: path: _gh_pages - name: build new version page - run: libs/GitHubPagesGenerator.exe -i "${{ github.workspace }}" -s "${{ github.workspace }}/Sitemap.json" -c "${{ github.workspace }}" -o _gh_pages -t "JSON API Spec-Version 1.38" + run: libs/GitHubPagesGenerator.exe -i "${{ github.workspace }}" -s "${{ github.workspace }}/Sitemap.json" -c "${{ github.workspace }}" -o _gh_pages -t "JSON API Spec-Version 1.39" - name: push updated gh pages uses: s0/git-publish-subdir-action@develop diff --git a/README.md b/README.md index b7f7274..342015d 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ To learn more about Saferpay please check www.saferpay.com. ### Versions -* [Spec version 1.38 (latest)](https://saferpay.github.io/jsonapi) +* [Spec version 1.39 (latest)](https://saferpay.github.io/jsonapi) +* [Spec version 1.38](https://saferpay.github.io/jsonapi/1.38) * [Spec version 1.37](https://saferpay.github.io/jsonapi/1.37) * [Spec version 1.36](https://saferpay.github.io/jsonapi/1.36) * [Spec version 1.35](https://saferpay.github.io/jsonapi/1.35) diff --git a/texts/Changelog.md b/texts/Changelog.md index e7415fb..2d798d6 100644 --- a/texts/Changelog.md +++ b/texts/Changelog.md @@ -1,6 +1,7 @@ # Changelog ## Table of Contents +- [Version 1.39](#v1.39.0.0.20240319) - [Version 1.38](#v1.38.0.0.20240123) - [Version 1.37](#v1.37.0.0.20231114) - [Version 1.36](#v1.36.0.0.20230912) @@ -37,6 +38,18 @@ - [Version 1.5](#v1.5.0.20170207) - [Version 1.4](#v1.4.0.20161015) +## Version 1.39 (released 2024-03-19) +- available on Sandbox: 2024-03-01 +- introduced version 1.39 +- added value `1.39` for _SpecVersion_ +- removed `Styling` container from following requests in all API versions: + - [PaymentPage/Initialize](index.html#Payment_v1_PaymentPage_Initialize) + - [Transaction/Initialize](index.html#Payment_v1_Transaction_Initialize) + - [Transaction/RedirectPayment](index.html#Payment_v1_Transaction_RedirectPayment) + - [SecureCardData/AliasInsert](index.html#Payment_v1_Alias_Insert) +- [PaymentPage/Assert](index.html#Payment_v1_PaymentPage_Assert) can now be called up to 120 hours for pending transactions (instead of 96 hours before) +- removed `Transaction/QueryPaymentMeans` and `Transaction/AdjustAmount` methods from Saferpay Payment API +- added `MandatoryFields` field to _BillingAddressForm_ container in [SecurePayGate Create SingleUsePaymentLink](index.html#rest_customers_[customerId]_terminals_[terminalId]_spg-offers) ## Version 1.38 (released 2024-01-23) - available on Sandbox: 2024-01-04 diff --git a/texts/ChapterAliasStore.md b/texts/ChapterAliasStore.md index 1cb3c7f..eef6092 100644 --- a/texts/ChapterAliasStore.md +++ b/texts/ChapterAliasStore.md @@ -95,20 +95,6 @@ Possible values: CARD, BANK_ACCOUNT, POSTFINANCE, TWINT.
URL which is used to redirect the payer back to the shop.

This Url is used by Saferpay to redirect the shopper back to the merchant shop. You may add query string parameters to identify your session, but please be aware that the shopper could modify these parameters inside the browser!
The whole url including query string parameters should be as short as possible to prevent issues with specific browsers and must not exceed 2000 characters.
Note: you should not add sensitive data to the query string, as its contents is plainly visible inside the browser and will be logged by our web servers.
- - - - - Styling
- - - object - - - -
Custom styling resource for the Hosted Register form.
- - diff --git a/texts/ChapterPaymentPage.md b/texts/ChapterPaymentPage.md index 218a430..cea4899 100644 --- a/texts/ChapterPaymentPage.md +++ b/texts/ChapterPaymentPage.md @@ -169,6 +169,7 @@ Possible values: ACCOUNTTOACCOUNT, ALIPAY, AMEX, BANCONTACT, BONUS, DINERS, CARD
Used to control if wallets should be enabled on the payment selection page.
+Possible values: APPLEPAY, GOOGLEPAY.
Possible values: APPLEPAY, GOOGLEPAY.
Example: ["APPLEPAY"]
@@ -231,20 +232,6 @@ Possible values: APPLEPAY, GOOGLEPAY.
Notification options
- - - - - Styling
- - - object - - - -
Styling options
- - @@ -481,7 +468,7 @@ Call this function to safely check the status of the transaction from your serve

Important:

diff --git a/texts/ChapterTransaction.md b/texts/ChapterTransaction.md index 3f9e887..9c88a3f 100644 --- a/texts/ChapterTransaction.md +++ b/texts/ChapterTransaction.md @@ -175,20 +175,6 @@ Numeric[8..8]
URL which is used to redirect the payer back to the shop if the transaction requires some kind of browser redirection (3d-secure, dcc)

This Url is used by Saferpay to redirect the shopper back to the merchant shop. You may add query string parameters to identify your session, but please be aware that the shopper could modify these parameters inside the browser!
The whole url including query string parameters should be as short as possible to prevent issues with specific browsers and must not exceed 2000 characters.
Note: you should not add sensitive data to the query string, as its contents is plainly visible inside the browser and will be logged by our web servers.
- - - - - Styling
- - - object - - - -
Styling options
- - @@ -303,9 +289,6 @@ Possible values: AMEX, BANCONTACT, BONUS, DINERS, DIRECTDEBIT, JCB, MAESTRO, MAS }, "ReturnUrl": { "Url": "[your shop payment url]" - }, - "Styling": { - "CssUrl": "[your shop css url]" } } @@ -785,384 +768,6 @@ Numeric[3..4]
-## Transaction QueryPaymentMeans Available depending on license - -POST
-This method may be used to query the payment means and payer data (address) after initialize and wallet redirect. - ---->>> - -

Request URL:

POST: /Payment/v1/Transaction/QueryPaymentMeans

- -<<<--- - -#### Request - - -This function may be called to retrieve information on the means of payment which was entered / chosen by the payer after the browser is redirected to the successUrl. - - - - - - - - - - - - - - - - - - - - - -
Arguments
- RequestHeader
- - - mandatory, - - - object - -
-
General information about the request.
- - -
- Token
- - - mandatory, - - string - -
-
Token returned by Initialize
- -Id[1..50]
- Example: 234uhfh78234hlasdfh8234e -
-
- ReturnUrl
- - - object - -
-
URL which is used to redirect the payer back to the shop if the transaction requires some kind of browser redirection (3d-secure, dcc)

This Url is used by Saferpay to redirect the shopper back to the merchant shop. You may add query string parameters to identify your session, but please be aware that the shopper could modify these parameters inside the browser!
The whole url including query string parameters should be as short as possible to prevent issues with specific browsers and must not exceed 2000 characters.
Note: you should not add sensitive data to the query string, as its contents is plainly visible inside the browser and will be logged by our web servers.
- - -
- - ---->>> - -

Example:

-
-{
-  "RequestHeader": {
-    "SpecVersion": "[current Spec-Version]",
-    "CustomerId": "[your customer id]",
-    "RequestId": "[unique request id]",
-    "RetryIndicator": 0
-  },
-  "Token": "sdu5ymxx210y2dz1ggig2ey0o"
-}
-
- -<<<--- - - -#### Response - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Arguments
- ResponseHeader
- - - mandatory, - - - object - -
-
Contains general information about the response.
- - -
- PaymentMeans
- - - mandatory, - - - object - -
-
Information about the means of payment
- - -
- Payer
- - - object - -
-
Information about the payer / card holder
- - -
- RedirectRequired
- - - mandatory, - - boolean - -
-
- - -
- RedirectUrl
- - string - -
-
Available if DCC may be performed.
- - Example: https://www.saferpay.com/VT2/api/... - -
- - ---->>> - -

Example:

-
-{
-  "ResponseHeader": {
-    "SpecVersion": "[current Spec-Version]",
-    "RequestId": "[your request id]"
-  },
-  "PaymentMeans": {
-    "Brand": {
-      "PaymentMethod": "VISA",
-      "Name": "VISA Saferpay Test"
-    },
-    "DisplayText": "9123 45xx xxxx 1234",
-    "Card": {
-      "MaskedNumber": "912345xxxxxx1234",
-      "ExpYear": 2015,
-      "ExpMonth": 9,
-      "HolderName": "Max Mustermann",
-      "CountryCode": "CH"
-    }
-  },
-  "Payer": {
-    "IpAddress": "1.2.3.4",
-    "IpLocation": "DE"
-  }
-}
-
- -<<<--- - - - - - - -## Transaction AdjustAmount Available depending on license - -POST
-This method may be used to adjust the amount after query payment means. - ---->>> - -

Request URL:

POST: /Payment/v1/Transaction/AdjustAmount

- -<<<--- - -#### Request - - -This function allows a change of the authorization amount which was originally set by Initialize.
It requires a flag having been set in the Initialize and is only available in specific use cases. - - - - - - - - - - - - - - - - - - - - - -
Arguments
- RequestHeader
- - - mandatory, - - - object - -
-
General information about the request.
- - -
- Token
- - - mandatory, - - string - -
-
Token returned by Initialize
- -Id[1..50]
- Example: 234uhfh78234hlasdfh8234e -
-
- Amount
- - - mandatory, - - - object - -
-
The new amount
- - -
- - ---->>> - -

Example:

-
-{
-  "RequestHeader": {
-    "SpecVersion": "[current Spec-Version]",
-    "CustomerId": "[your customer id]",
-    "RequestId": "[unique request id]",
-    "RetryIndicator": 0
-  },
-  "Token": "sdu5ymxx210y2dz1ggig2ey0o",
-  "Amount": {
-    "Value": "110",
-    "CurrencyCode": "CHF"
-  }
-}
-
- -<<<--- - - -#### Response - - - - - - - - - - - - - - - - -
Arguments
- ResponseHeader
- - - mandatory, - - - object - -
-
Contains general information about the response.
- - -
- - ---->>> - -

Example:

-
-{
-  "ResponseHeader": {
-    "SpecVersion": "[current Spec-Version]",
-    "RequestId": "[your request id]"
-  }
-}
-
- -<<<--- - - - - - - ## Transaction AuthorizeDirect Available depending on license POST
@@ -3050,7 +2655,7 @@ This method may be used to inquire the status and further information of pending
-

Attention: This method is only supported for pending refunds. A pending refund is only applicable for paydirekt transactions at the moment.

+

Attention: This method is only supported for pending refunds. A pending refund is only applicable for paydirekt or WL Crypto Payments transactions at the moment.

--->>> @@ -3818,20 +3423,6 @@ Possible values: PAYPAL, POSTCARD, POSTFINANCE.
URL which is used to redirect the payer back to the shop if the transaction requires some kind of browser redirection (3d-secure, dcc)

This Url is used by Saferpay to redirect the shopper back to the merchant shop. You may add query string parameters to identify your session, but please be aware that the shopper could modify these parameters inside the browser!
The whole url including query string parameters should be as short as possible to prevent issues with specific browsers and must not exceed 2000 characters.
Note: you should not add sensitive data to the query string, as its contents is plainly visible inside the browser and will be logged by our web servers.
- - - - - Styling
- - - object - - - -
Custom styling resource
- - diff --git a/texts/ContainerDictionary.md b/texts/ContainerDictionary.md index 27cc9bb..9d82fa6 100644 --- a/texts/ContainerDictionary.md +++ b/texts/ContainerDictionary.md @@ -1226,6 +1226,21 @@ AlphaNumeric[1..3]
Possible values: NONE, SAFERPAY, PREFER_PAYMENTMETHOD.
+ + + + + MandatoryFields
+ + array of strings + + + +
List of fields which the payer must enter to proceed with the payment.
This is only applicable if Saferpay displays the address form.
If no mandatory fields are sent, all fields except SALUTATION, COMPANY and PHONE are mandatory.
+ +Possible values: CITY, COMPANY, VATNUMBER, COUNTRY, EMAIL, FIRSTNAME, LASTNAME, PHONE, SALUTATION, STATE, STREET, ZIP.
+ Example: ["FIRSTNAME", "LASTNAME", "PHONE"] +
@@ -1307,8 +1322,8 @@ Possible values: NONE, SAFERPAY, PREFER_PAYMENTMETHOD.
Version number of the interface specification. For new implementations, the newest Version should be used.
-Possible values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27, 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34, 1.35, 1.36, 1.37, 1.38
- Example: 1.38 +Possible values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27, 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34, 1.35, 1.36, 1.37, 1.38, 1.39
+ Example: 1.39
@@ -1416,8 +1431,8 @@ Id[1..50]
Version number of the interface specification.
-Possible values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27, 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34, 1.35, 1.36, 1.37, 1.38
- Example: 1.38 +Possible values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27, 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34, 1.35, 1.36, 1.37, 1.38, 1.39
+ Example: 1.39
@@ -3061,54 +3076,6 @@ Iso885915[1..100]
Creditor id, required for german direct debit payments.
- - - - -

Container "Payment_Models_Data_ExtendedStyling"

- - - - - - - - - - - - - @@ -4731,54 +4698,6 @@ Id[1..35]
Installment options – cannot be combined with Recurring.
- - - -
- Theme
- - string - -
-
This parameter let you customize the appearance of the displayed payment pages. Per default a lightweight responsive styling will be applied.
If you don't want any styling use 'NONE'.
- -Possible values: DEFAULT, SIX, NONE.
- Example: DEFAULT -
-
- CssUrl
- - string - -
-
Custom styling resource (url) which will be referenced in web pages displayed by Saferpay to apply your custom styling.
This file must be hosted on a SSL/TLS secured web server (the url must start with https://).
If a custom CSS is provided, any design related settings set in the payment page config (PPConfig) will be ignored and the default design will be used.
- -Max length: 2000
- Example: https://merchanthost/merchant.css -
-
- ContentSecurityEnabled
- - boolean - -
-
When enabled, then ContentSecurity/SAQ-A is requested, which leads to the CSS being loaded from the saferpay server.
- -
-

Container "Payment_Models_Data_PaymentPageStyling"

- - - - - - - - - - - - - @@ -5091,7 +5010,7 @@ Possible values: ELIGIBLE, PARTIALLY_ELIGIBLE, NOT_ELIGIBLE.
- Theme
- - string - -
-
This parameter let you customize the appearance of the displayed payment pages. Per default a lightweight responsive styling will be applied.
If you don't want any styling use 'NONE'.
- -Possible values: DEFAULT, SIX, NONE.
- Example: DEFAULT -
-
- CssUrl
- - string - -
-
DEPRECATED: This feature will be removed in one of the next versions. Consider using payment page config (PPConfig) or Saferpay Fields instead.

Custom styling resource (url) which will be referenced in web pages displayed by Saferpay to apply your custom styling.
This file must be hosted on a SSL/TLS secured web server (the url must start with https://).
If a custom CSS is provided, any design related settings set in the payment page config (PPConfig) will be ignored and the default design will be used.
- -Max length: 2000
- Example: https://merchanthost/merchant.css -
-
- ContentSecurityEnabled
- - boolean - -
-
When enabled, then ContentSecurity/SAQ-A is requested, which leads to the CSS being loaded from the saferpay server.
- -
-
Url which is called by Saferpay if an action could not be completed synchronously and was reported with a ‘pending’ state (eg CAPTURE_PENDING or REFUND_PENDING). Up until now, this is only applicable for Paydirekt or WL Crypto Payments transactions.
+
Url which is called by Saferpay if an action could not be completed synchronously and was reported with a ‘pending’ state (eg CAPTURE_PENDING or REFUND_PENDING). Up until now, this is only applicable for Paydirekt transactions or WL Crypto Payments refunds.
Example: https://merchanthost/pendingnotify