All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Added support for Verified Payouts (UK-only feature)
- New
Verificationmodel withVerifyNameand optionalTransactionSearchCriteriafor name and transaction verification - New
PayoutUserRequestandPayoutUserResponsemodels for user details in verified payouts - Updated
CreatePayoutBeneficiary.UserDeterminedbeneficiary type with verification support - New
PayoutHppLinkBuilderhelper for generating Hosted Payment Page verification links - New
CreatePayoutResponse.AuthorizationRequiredresponse type for verified payouts requiring authorization - Separate
GetPayoutBeneficiarynamespace for GET response types (distinct from CREATE request types) - Enhanced
OneOfJsonConverterwith[DefaultJsonDiscriminator]support for fallback deserialization
- New
- BREAKING:
CreatePayoutnow returnsOneOf<AuthorizationRequired, Created>instead ofCreatePayoutResponse- Consumers must use
.Match()to handle both response types - Standard payouts return
Createdwith just the payout ID - Verified payouts return
AuthorizationRequiredwith ID, status, resource token, and user details
- Consumers must use
- BREAKING:
GetPayoutnow returnsOneOf<AuthorizationRequired, Pending, Authorized, Executed, Failed>instead ofOneOf<Pending, Authorized, Executed, Failed>- Added
AuthorizationRequiredstatus for verified payouts awaiting user authorization - Consumers must update
.Match()calls to handle the newAuthorizationRequiredtype
- Added
- BREAKING: Renamed
BeneficiarytoCreatePayoutBeneficiaryfor clarity - BREAKING: Simplified
CreatePayoutBeneficiary.BusinessAccountto only requireReference(removed account holder name and identifier) - Updated
CreatePayoutBeneficiary.PaymentSourceGET response to includeAccountHolderNameandAccountIdentifiers - Updated
GetPayoutto returnGetPayoutBeneficiarytypes with populated account details
- Removed support for .NET 6.0
- Added
SchemeIdfield toExecutedPayoutandRefundtransaction types in Merchant Account transactions endpoint response - Add support for polish payouts and
SubMerchantsfield
- Enhanced RefundUnion to include all refund statuses:
RefundExecutedandRefundFailedin addition to existingRefundPendingandRefundAuthorized - Updated
ListPaymentRefundsandGetPaymentRefundmethods to support returning refunds in all possible states
- Added support for additional payment features
- Added support for enhanced payment processing
- Added support for improved API responses
- Added support for
CreditableAtinGetPaymentResult
- Added support for
StatementReferenceinMerchantAccount
- Added support Add support for mandates in
HppLinkBuilder
- Added support for net9/net8
- Added support to the
Metadatafield in theGetPayoutResponse
- Added support to the
SchemeIdfield in theGetPayoutResponse
- Added support to
POST /v3/payments/{id}/actions/cancelendpoint for thePaymentsAPI
- Added support to the
Beneficiaryfield in theGetPayoutResponse - Added support to
GET v3/merchant-accounts/{id}/transactionsendpoint for theMerchantAccountAPI
- Added support to
risk_assessmentparameter inCreatePaymentRequest - Added support to
metadatafield toCreatePaymentRequestandGetPaymentResponsemodels - Added support to
verificationfield onMerchantAccountbeneficiary type forCreatePaymentRequest
- Added support to
retryparameter inCreatePaymentRequestmodel - Added support to
AttemptFailedstatus inCreatePaymentResponsemodel
Truelayer.Payments.SigningKey.PrivateKeycan now be set via configuration binding
- Replaced
ReleaseChannelsparameter fromSearchPaymentsProvideerRequestwithResleaseChannel(singlestringvalue)
- Added support to
GET /v3/payments/{id}/refundsendpoint. - Added support to
GET /v3/payments/{payment_id}/refunds/{refund_id}endpoint. - Added support to
POST /v3/payments/{payment_id}/refundsendpoint.
- Removed unnecessary
[Obsolete]attributes
- Added support to
POST /v3/payments/{id}/authorization-flowendpoint. - Added support to
authorizathion_flowparameter inCreatePaymentRequestmodel.
- Added
POST /v3/payments-providers/searchendpoint. - Fixed deserialization issue with some responses from the Mandates APIs
- Changed
GET payments-providers/{id}to set theAuthorizationheader on the request instead of theclient_idon the query parameter.
- Fixed SSRF vulnerability with a CVSS score of 8.6 (High)
- Added scheme selection options for the provider selection objects to be submitted when creating a payment.
- Added mandates APIs. Thanks to @mohammedmiah99, @Ryan-Palmer and @ubunoir for their contributions.
- Added
RelatedProductstoCreatePaymentRequest
- Set
TL-Agentheader instead ofuser-agent.
MetadatatoCreatePayoutRequest.AddressandDateOfBirthtoCreatePayoutRequest.Beneficiary.ExternalAccount.
- Updated payouts to use the
paymentstoken instead of the legacypaydirecttoken.
AddressandDateofBirthtoPaymentUserRequest.
AddressandDateofBirthtoPaymentUserRequest.- This version got unlisted because wrong. Please refer to version
1.2.0.
ProviderFilters.CustomerSegmentsis now an array.
- Some user information from payment response (see TrueLayer Changelog).
nameemailphonedate_of_birthaddress
- Upgrade to
.NET6.
StatustoCreatePaymentResponsemodel.
- Use TrueLayer.Signing nuget in favor of the custom-made
RequestSignatureclass.
CHANGELOGfile.GET /payments-providersendpoint.
payment_sourcepayout beneficiary.business_accountpayout beneficiary.executedpayment status.
successfulpayment status.