What's new?

Release Notes

All releases in 2017

3.1 - Released: 20.03.2017

Added:

  • "directDebit" field to AvailablePaymentMethodResponse indicating when Invoice is available with Direct Debit
  • Functionalities for sending error messages to Slack
  • New Relic monitoring
  • Sending Google Analytics data to Phoenix
  • Sanoma ledger functionality
  • ProductType to GetAvailablePaymentMethods
  • ProductType to AuthorizePayment
  • ProductType to Capture
  • ProductType to Void
  • "additionaData" field in AuthorizePayment
  • Costcenter to CaptureRequest
  • Relocated CustomerIndividualScore to CustomerRisk
  • MarketPlace element to AvailablePaymentMethods additionalData element
  • AdditionalData element to AvailablePaymentMethods
  • Age validation for CustomerCheck requests
  • InvoiceDate to CaptureRequest.References
  • Increased logging for Update database updater
  • partnerData to additional data in availablePaymentMethods
  • partnerData to additional data in authorizePayments
  • 400.002 (MissingValue) customer facing message
  • 400.003 (ValueOutOfLegalRange) customer facing message
  • 400.004 (IncorrectFormat) customer facing message
  • parentTransactionRefelence to Order objec
  • marketPlaceSellerId to orderItem
  • customerIndividualScire to orderRisk
  • ParentTransactionReference to Authorize request
  • ParentTransactionReference to Available Payments request
  • ParentTransactionReference to Refund request
  • 400.101 (with field reference order.netAmount) is now returned if netAmount does not match quantity * netUnitPrice over orderLines
  • 400.102 (with field reference order.grossAmount) is now returned if grossAmount does not match quantity * grossUnitPrice over orderLines
  • 400.100 (with field reference order.orderNumber) is now returned if "order number is already in use for client"
  • 400.103 (with field reference customer.customerNumber) is now returned if customer number differs from CustomerNo in checkout
  • 400.109 (with field reference contractID) is now returned when invalid contract id is given
  • 400.115 (with field reference none) is now returned when reservation is not found
  • 400.131 (with field reference none) is now returned when order is not found
  • 400.132 (with field reference none) is now returned when capture is not found
  • 400.117 (with field reference none) is now returned if Full Capture can not be done in full amount
  • 400.120 (with field reference none) is now returned if Invoice has already been created
  • 400.119 (with field reference orderItems) is now returned if no order items are provided when capture number is set
  • 400.108 (with field reference payment.type) is now returned if invalid payment method is selected
  • 400.111 (with field reference none) is now returned when installment profile plans are missing
  • 400.112 (field reference: none) is now returned when monthly installment amount is invalid
  • 400.113 (field reference: none) is now returned when duration is sent as amount
  • 400.114 (field reference: payment.account.AccountProfileNo) is now returned when invalid AccountProfileNo is sent
  • "readMore"field in installmentInfo response
  • partnerData field added to additionalData

Changed:

  • Internal customer lookup logic for all markets
  • Updated all customer-facing messages
  • Behavior of Bank detail saving for DirectDebit Agreements
  • Payment method not supported responds now with 400 error
  • Customer not found in external database now forwards the error from external system
  • Wrong payment method returns now a 400 error
  • When grossUnitPrice is missing in partial capture a 400 error is returned
  • If contract already exists in system 400.136 error is now returned
  • If address is not found 400.135 error is now returned
  • If technical timeout occurs, a 500 error is returned
  • Empty request now gets 400.001 response code
  • "phoneNumber" field changed to "mobilePhone"
  • Remove SSN from customerLookup response
  • If order is not found a 400.131 error is returned
  • If customer is not found internally using identification number the "address not found" error will be returned
  • Mapping of Error Codes
  • Currency, Country and Language enums
  • Rounding for AvailablePaymentMethodsResponse to use only 2 decimal places
  • StreetNumberAdditional length changed from 5 to 50
  • How system logs different errors
  • CustomerCategory behavior to facilitate "Company" value
  • Allow empty GroupId in OrderItem
  • Checkout process when customer is not found
  • Naming of fields in ValidateBankAccount (bankCode, bankAccount)
  • Payment items are now required for debit invoice
  • Rename invoiceCampaignNumber to campaignNumber in CaptureReques
  • Rename merchantTransactionId to parentTransactionId in CaptureRequest
  • Relocated CustomerIndividualScore to CustomerRisk
  • Removed IntermediarId from AdditionalData
  • DevPortal updated with new eCommerceServices.Contracts nuspec package
  • Made payment items required for partial refund
  • Allow full refund with empty payment items
  • Updated response codes for reservation not found
  • Update response code for reservation missing checkout
  • Updated response code for capture number not specified
  • Updated response code for positive gross or net unit price
  • Update response code for reservation mismatch
  • Update response code for refund amount is higher than invoice balance
  • Updated response code for invoice(s) not found
  • Updates for void response codes and automated tests
  • Updated response codes for getCapture
  • Update response code for invoice not found
  • Updated response code for missing order items
  • Order number missing response is now 400.002
  • PhoneNumber field changed to MobilePhone
  • IdentificationNumber has been removed from customer lookup response
  • Cleanup job for non-captured reservations is now configurable between 30-1095 instead of fixed 90 days
  • Make payment items required for partial refund
  • Allow full refund with empty payment items

Fixed:

  • Error on high volumes of requests (@100/sek per client)
  • Performance improvements
  • Error if no CountryCode present in AvailablePaymentMethods request
  • System.NullReferenceException in GetRiskProvider
  • Exception in AuthorizePayment when calculatingTax fields
  • CreateContract now returns Error 500 instead of SystemError
  • Finnish SSN validation updated to check for length
  • DeleteShippingDetails returned incorrect response code when capture was not found
  • GetAllShipments returned incorrect response code when capture was not found
  • GetShipments returned incorrect response code when capture was not found
  • OrderManagementOperationBase returned "InvoiceLinesMissing" instead of 400.xxx
  • "OrderItemsMissingResponse" code instead of 400.xxx
  • NotImplementedException in Denmark for Required Customer field
  • Forward contractDate and InvoiceDate to proper places in backend system
  • DirectDebit does not return error anymore when client settings allow it without contract
  • Updated Developer Portal to reflect TotalGrossAmounnt and grossUnitPrice requirement on OrderItems
  • Empty LookupCustomer request give Internal Server Error
  • Authorize no longer returns [] when outcome is rejected
  • No access to service no longer gives code 0 but now gives 401

3.2 - Released: 22.05.2017

Changed:

  • Changed branching strategy

Fixed:

  • Fixed usage of InstallmentDetails
  • Fixed null reference exception in PaymentRequest

3.3 - Released: 08.06.2017

Added:

  • Implement new risk provider

Changed:

  • Invalid risk provider credentials error now returns 500
  • Behavior of 400.099 that it is always BusinessError
  • Updated Developer portal tutorial page with new response code structures
  • Allow negative grossUnitPrice on capture for consolidated invoice

Fixed:

  • InstallmentPlans now return an error if amount is 0
  • Finnish SSN validation failed with small letters
  • A memory leak in eCommerceWebApi
  • Available payment methods now follow account profile usage
  • Available installment plans don't take the amount into account

3.4 - Released: 15.06.2017

Changed:

  • Increased InvoiceNo length in CaptureRequest to 19
  • Updated developer portal with new error codes
  • Removed ssn from getOrder response
  • customerLookup now returns textual representation of country code
  • The way system errors are logged
  • The length of ParentTransactionReference is now 50 in authorize, available, capture, void and refund requests

Fixed:

  • Fixed a case where Authorize Request received an empty Response

3.5 - Released: 28.06.2017

Changed:

  • Unified behavior of TotalNetAmount for installments and invoices
  • Installment period is now optional

3.6 - Released: 11.07.2017

Added:

  • Voucher number" field added to Refund

3.7 - Released: 15.08.2017

Added:

  • New field "ConsolidatedInvoiceAllowed" added to the payment method "ConsolidatedInvoice"

Changed:

  • Handling of international data in JSON REST API

Fixed:

  • Consolidated Invoice created if payment type is "ConsolidatedInvoice"
  • 400.127 error code instead of "RefundAmountTooHigh"
  • Refunding regular invoice with total negative amount is not allowed
  • Length validation for "DirectDebitSwift" field
  • Length validation for "ItemDescription" field
  • "System.NullReferenceException" in RSS21 risk provider fixed
  • REST API returns correct header on incorrect request
  • "ChannelType" errors in OrderRisk fixed

3.8 - Released: 03.08.2017

Changed:

  • Changed how "CreditNoteNumber" is generated during Refund operation

Fixed:

  • Restricting sending enum values
  • Wrong error codes in authorize method fixed

3.9 - Released: 29.08.2017

Changed:

  • Provide additional metrics for monitoring

Fixed:

  • Refunding invoice when customer already paid
  • Updated integration with risk providers

3.10 - Released: 01.09.2017

Changed:

  • Technical refactoring

3.11 - Released: 26.10.2017

Added:

  • Added new configuration for future Risk Providers
  • Authentication handling for new risk provider
  • Implementation of Authorize call for new risk provider
  • Exposing field length requirements for Developers Portal
  • Allowing negative amount Authorize calls for payment type "ConsolidatedInvoice"
  • Allowing full capture for negative authorizations, when payment type is "ConsolidatedInvoice"
  • Implemented birth date extraction from SSN in Sweden
  • Support for decimals in FastTrack Services AddEventToAccount quantity
  • Changed the implementation of invoice date mappings

Changed:

  • Made mobile phone field optional in Authorize
  • Made mobile phone field optional in AvailablePaymentMethods
  • Technical refactoring

Fixed:

  • Showing fieldReference in FastTrack Services ApplyForAccountCredit when customer.firstName is longer than 50 characters
  • Returning 400.XXX error when order cancellation fails
  • Now returning business error when using installment profile number which doesn't exist
  • Now returning correct error message when using installment profile which doesn't exist
  • Allowing no body to be sent into VoidAuthorizationRequest

3.12 - Released: 09.11.2017

Added:

  • MerchantImageUrl added to the Order
  • Consolidated invoice added
  • Refunding with a negative total amount should not be allowed
  • Field references added to MissingValue, IncorrectFormat and ValueOutOfLegalRange error messages

Changed:

  • Payment methods response updated to respond more detailed installment info
  • Gross and Net amount requirements and calculation unified across requests
  • Performance improvements
  • 404 error responses are removed
  • Whitespaces are not causing validation errors for Identification numbers

Fixed:

  • Now returning 400.xxx error, if the order cannot be cancelled because the order is already partially or fully capured
  • Now returning 400.xxx error, if the order cannot be cancelled because the balance of the linked order is 0
  • Now returning 400.xxx error, if the order cannot be cancelled because the specified capture has higher amount than the reserved amount
  • Now returning 400.002 error, if the Identification code is not specified
  • Rating failure response fixed
  • First name in Authorize request is not replaced with empty string
  • Missing identification code error message fixed
  • Missing email returns 400.002 (MissingValue) error code instead of 400.004 (InvalidFormat)
  • Email validation rules changed, single digit domain names are allowed

3.13 - Released: 10.11.2017

Fixed:

  • Corrected error code when sending in empty checkoutId to Authorize request
  • Technical refactoring

3.13.1 - Released: 17.11.2017

Fixed:

  • Fixed rounding of price data

3.14 - Released: 21.11.2017

Added:

  • Added "Read More" links to available installment plans

Changed:

  • Relaxed e-mail validation rules

Fixed:

  • Limited field StreetNumberAdditional in Address object to 10 characters
  • Added error message to Authorize response when SSN is missing
  • Unified fieldReferences for error messages
  • Changed Authorize call to return 5 separate error messages instead of one

3.15 - Released: 30.11.2017

Changed:

  • Limited "careOf" field in Address object to 50 characters

Fixed:

  • Correct 400.XXX error code returned when "Quantity" in Order object is set to null