Released: 18.08.2017

Fixed

  • Users may not send numeric values instead of enum values
  • Wrong error codes in authorize method fixed

Changed

  • Changed how "CreditNoteNumber" is generated during Refund operation

Released: 15.08.2017

Added

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

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

Changed

  • Handling of international data in JSON REST API

Released: 11.07.2017

Added

  • "Voucher number" field added to Refund

Released: 28.06.2017

Changed

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

Released: 15.06.2017

Fixed

  • Fixed a case where Authorize Request received an empty Response

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

Released: 08.06.2017

Added

  • Implement new risk provider

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

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

Released: 22.05.2017

Fixed

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

Changed

  • Changed branching strategy

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

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

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

Released: 25.10.2016

Added

  • Deployment of new AfterPay API