- Added checkoutResultReturnUrl in the CreateChargeRequest API.
- Added webCheckoutDetails object in the CreateChargeResponse.
- Added CreateChargeRequest API sample code for Saved Wallet transactions.
- Added BuyerClosed in the ReasonCodes.
- Introducing new Merchant Onboarding & Account Management APIs, which allows our partners to onboard merchants programatically and as part of account management offer them creation, updation and deletion/dissociation capability.
- Introducing new API called finalizeCheckoutSession which validates checkout attributes and finalizes checkout session. On success returns charge permission id and charge id. Use this API to process payments for JavaScript-based integrations.
- Added new parameter "chargePermissionId" in CreateCheckoutSession Request, as a part of PMOF(Payment Method On File) changes.
- Added new parameters "CheckoutButtonText" in GetCheckoutSession Response, as a part of Affirm changes in Place Order Button. Change is fully backwards compatible.
- Added the Sample Code snippets for the Charge APIs.
- Corrected README.md file related to Reporting APIs.
- Introducing new v2 Reporting APIs. Reports allow you to retrieve consolidated data about Amazon Pay transactions and settlements. In addition to managing and downloading reports using Seller Central, Amazon Pay offers APIs to manage and retrieve your reports.
- Introducing new signature generation algorithm AMZN-PAY-RSASSA-PSS-V2 & increasing salt length from 20 to 32.
- Added new parameters "MultiAddressesCheckoutMetadata" and "ShippingAddressList" in Checkout Session objects to support PayAndShipMultiAddress productType. Change is fully backwards compatible.
- New type of Charge permission "PaymentMethodOnFile" is added, ChargeInitiator & Channel are added to CreateCharge API request/response objects
- Adding Error code 408 to API retry logic
- Note : To use new V2 algorithm AMZN-PAY-RSASSA-PSS-V2, "algorithm" needs to be provided as an additional field in "ApiConfiguration" and also while rendering Amazon Pay button in "createCheckoutSessionConfig". The changes are backwards-compatible, SDK will use AMZN-PAY-RSASSA-PSS by default.
- Fixed security vulnerabilities in the SDK version 2.5.1.
- Adding a new parameter "PlatformId" in Charge object which will in help Solution Provider monitoring Please dont use Version 2.5.0
- Applied patch to address issues occurred in Version 2.5.0.
- Updated "ExpirationTimestamp" property on ChargePermissionResponse to nullable
- Migrated signature generating algorithm from AMZN-PAY-RSASSA-PSS to AMZN-PAY-RSASSA-PSS-V2 & increased salt length from 20 to 32
- Note : From this SDK version, "algorithm" need to be provided as additional field in "createCheckoutSessionConfig" while rendering Amazon Pay button.
- Added API Retry mechanism for error codes 502 & 504
- Enabled support for environment specific keys (i.e Public key & Private key). The changes are fully backwards-compatible, where merchants can also use non environment specific keys
- Added "EstimateOrderTotal" to PaymentDetails
- Added "recurringMetadata" to UpdateChargePermissionRequest for ChargePermission API
- Added "HasPrimeMembershipType" to BuyerResponse for Buyer API
- Added "SendDeliveryTrackingInformation" and "GetAuthorizationToken" to IClient, inherited by IInStoreClient and IWebStoreClient
- Added "checkoutCancelUrl" to WebCheckoutDetails for CheckoutSession API
- Added "phoneNumber" and "primeMembershipTypes" to "Buyer" object for both CheckoutSession and ChargePermission API's
- Added "phoneNumber" and "primeMembershipTypes" to "BuyerResponse" object for GetBuyer API
- Added "billingAddress" & "primeStatus" as scopes to SignInScopes
- Enabled CreateCheckoutSession Scopes for CreateCheckoutSession API
- Note : Passing "primeStatus" as SignInScope or CheckoutSessionScope will return value for field "primeMembershipTypes" in response, only if the customer is eligible for prime membership
- Switch from BouncyCastle and BouncyCastle.Core reference to latest release Portable.BouncyCastle (1.8.9), while also switching to use default trailer for PssSigner in signature generation. This resolves previous signature generation issues encountered using non-default trailer for PssSigner on BouncyCastle versions 1.8.6 and higher.
- Add parameterless constructor for CreateCheckoutSessionRequest to better support Additional Payment Button (APB) workflow
- Add Interface for SignatureHelper to allow mocking in tests
- Correct packaging of LICENSE
- Added the "ShippingAdress" property to BuyerResponse which can be accessed by passing "shippingAddress" as signInScopes parameter while rendering Amazon Sign-in button
- Add Interfaces for WebStoreClient and InstoreClient to allow developers to mock classes in tests.
- Added support for Additional Payment Button (APB) flow, see https://developer.amazon.com/docs/amazon-pay-checkout/end-of-checkout.html, which adds WebCheckoutDetails.CheckoutMode and AddressDetails to CreateCheckoutSessionRequest
- Added missing property SoftDescriptor to PaymentDetails
- Correct State.Refunded name and other improvements to State and ReasonCode (static to const)
- Replace enums for ReasonCode and State with static class to avoid JSON exception on introduction of new non-breaking changes in the API
- Add suppport for Recurring and Multi-ship API features
- Remove duplicate code in SDK's CreateCheckoutSessionRequest and UpdateCheckoutSessionRequest objects
- Remove duplicate Tests.DotNetCore unit tests and folded into existing unit tests
- Fix bug causing some objects to become corrupted after .ToJson() call
- Added support for "Sign-In only" feature (types and mehthods)
- Added missing property ExpirationTimestamp on CheckoutSessionResponse class
- Simplified usage of DeliverySpecifications / AddressRestriction feature
- Fixed issue with decimal conversion when using Japanese Yen
- Added GetAuthorizationToken method (available for all clients)
- Set TLS version for API requests to version 1.2 to avoid issues on .NET versions where TLS 1.2 is not yet the default
Adapted SDK to support Amazon Pay API version 2
Amazon Pay Checkout v2 changes
- Introduction of "Complete CheckoutSession" API call
- Billing address moved from
PaymentPreferences
to root ofCheckoutSession
andChargePermission
objects ChargePermission
now providesLimits
field that shows maximum chargeable amount and remaining balance- Added helper function for button signature generation to WebStoreClient (Amazon Pay Checkout v2 client)
Initial release, incl. support for
- Amazon Pay Checkout v2
- Amazon Pay In-Store API
- Alexa Delivery Notifications for Amazon Pay