All notable changes to this project will be documented in this file using the Keep a CHANGELOG principles.
- The exception
UnprocessableEntityException
is deprecated in favor ofDataValidationException
. New exception has new methodgetValidationErrors
which returns the errors in new format. - The
KycDocument
propertyfileId
was made deprecated.
- Added new properties to
Transaction
:disputeTime
,disputeStatus
,isRebill
,3ds
,riskScore
,retryNumber
,isReconciled
,hadDiscrepancy
,hasBumpOffer
,hasAmountAdjustment
,billingDescriptor
- Added new properties to
Dispute
:transaction
,category
,rawResponse
,caseId
- Added new property to
Customer
:revision
- Added new properties to
Invoice
:revision
,amountDue
,autopayRetryNumber
,dueReminderTime
,dueReminderNumber
,paymentFormUrl
- Added new properties to
Subscription
:revision
,isTrialOnly
,poNumber
,renewalReminderTime
,renewalReminderNumber
,trialReminderTime
,trialReminderNumber
- Added new property to
KycDocument
:documentSubtype
- Added new property to
KycDocument
:fileIds
- Added new method to
GatewayAccountService
:checkCredentials
- Added new property to
Transaction
:referenceData
- The
Transaction
propertygatewayAccountId
was made writable. - Replaced
PUT
withPATCH
inOrganizationService::update()
method.
- Removed
put
method fromOrganizationService::create()
method. - Removed
OrganizationService::delete()
method. - Removed
PaymentCardService::authorize()
method. - Removed
PayPalAccountService::activate()
method. - Removed
TransactionService::cancel()
method. - Removed
PaymentCardAuthorization
entity.
- Added new property to
Plan
:createdTime
- Added new property to
Invoice
:createdTime
- Added new property to
Transaction
:isMerchantInitiated
- Added new property to
BrowserData
:isJavaEnabled
- Added new property to
RiskMetadata
:browserData
- Added new property to
CommonPaymentInstrument
,BankAccount
,PaymentCard
,PayPalAccount
:riskMetadata
- Added new property to
PaymentToken
:riskMetadata
- Added new property to
Dispute
:customerId
- Added new property to
GatewayAccount
:status
- Removed Layouts API
- Removed deprecated
ApiKey
property:datetimeFormat
- Removed deprecated
ApiKey
method:datetimeFormats
- Removed deprecated
ApiKey
constants:DATETIME_FORMAT_MYSQL
,DATETIME_FORMAT_ISO8601
,MSG_UNEXPECTED_DATETIME_FORMAT
- Removed deprecated
BrowserData
properties:acceptHeader
,ipAddress
,javaEnabled
,userAgent
,deviceFingerprintHash
- Removed deprecated
CommonPaymentInstrument
,BankAccount
,PaymentCard
,PayPalAccount
properties:browserData
- Added missing attribute value factories for
Address
:createPhoneNumbers
,createEmails
- Added new properties to
KycDocument
:matchLevel
,reason
- Added new properties to
Transaction
:arn
,paymentInstruction
- Added new properties to
RiskMetadata
:hasMismatchedTimeZone
,hasMismatchedBankCountry
,hasMismatchedBillingAddressCountry
- Added new property to
ApiKey
:apiUser
- Deprecated
Transaction
method:setPaymentInstrument
- Removed
ApiKey
property:userName
- Added Blocklist API
- Added Plaid Credentials API
- Added Experian Credentials API
- Added Payment Instruments API
- Added
PaymentToken
- Added
Client::paymentTokens()
factory - Added
KhelocardCardPaymentInstrument
for Khelocard payment tokens - Added new property to
SubscriptionChangePlan
:keepTrial
- Removed API version from request URIs. See Rebilly REST API Guide for more details.
- Deprecated
Client::CURRENT_VERSION
constant - Deprecated
Blacklist
- Deprecated
PaymentCardToken
- Deprecated
Client::paymentCardTokens()
factory - Deprecated
Coupon
method:getRedemptionCode()
in favorgetId()
- Deprecated
Redemption
method:getRedemptionCode()
,setRedemptionCode()
in favorgetCouponId()
/setCouponId()
- Removed Payment Cards Migrations API
- Removed payment methods restriction in the
PaymentMethodInstrument
- Removed payment methods restriction in the
GatewayAccount
- Removed deprecated
PayPalAccount
method:getApprovalLink
- Removed Checkout Pages API
- Added new AML API
- Added new Gateway Account Limit API
- Added new properties to
GatewayAccount
:reconciliationWindowEnabled
,reconciliationWindowTtl
- Added new properties to
Transaction
:planIds
,isDisputed
,retriedTransactionId
- Added new properties to
PaymentCard
:fingerprint
,browserData
- Added new properties to
BankAccount
:browserData
,billingAddress
- Added new property to
PayPalAccount
:browserData
- Added new method to
PayPalAccount
:getApprovalUrl
- Added new property to
LeadSource
:referrer
- Added new property to
GatewayAccount
:additionalFilters
- Added new methods to
GatewayAccount
:getAdditionalFilters
,setAdditionalFilters
- Added new property to
GatewayAccount
:digitalWallets
- Added new methods to
GatewayAccount
:setDigitalWallets
,getDigitalWallets
- Added new properties to
Invoice
:transactions
,poNumber
,notes
- Added new property to
Subscription
:recentInvoice
- Added
patch
method toTransactionService
- Deprecated
PayPalAccount
method:getApprovalLink
- Deprecated
Subscription
method:cancel
(useSubscriptionCancellation
instead) - Deprecated
SubscriptionCancel
class.
- Removed deprecated Payments API
- Removed deprecated Contacts API
- Removed Payment Instrument Validation API
- Removed
SchedulePaymentService
service andScheduledPayment
entity - Removed deprecated
PaymentCard
properties:panFingerprint
,billingContactId
- Removed deprecated
BankAccount
properties:contactId
,address
- Removed deprecated
PayPalAccount
property:contactId
- Removed deprecated
Invoice
properties:billingContactId
,deliveryContactId
- Removed deprecated
Transaction
properties:redirectUrls
- Removed deprecated
PaymentCard
method:setStatus
- Removed deprecated
BankAccount
method:getContact
- Removed deprecated
PayPalAccount
methods:getContact
,setUserName
- Removed deprecated
GatewayAccount
methods:getAdditionalCriteria
,setAdditionalCriteria
,createAdditionalCriteria
- Added new property to
SubscriptionChangePlan
:quantity
- Added new properties to
ApiTracking
:relatedIds
,requestHeaders
,responseHeaders
- Removed
Note
entity,NoteService
service
- Added support for empty redirect responses
- Added new property to
Customer
:websiteId
- Added new property to
Transaction
:requestId
- Added new property to
Website
:organizationId
- Added new property to
PaymentCard
:stickyGatewayAccountId
- Added
CheckInstrument
,AlternativeInstrument
,Customer Timeline
- Added
iDEAL
,Klarna
,Interac
,Onlineueberweisen
to supported alternative payment instruments - Added
description
field toValuesList
- Added
reissue
method toInvoiceService
- Added
dueTime
toInvoiceService::issue()
- Added new properties to
Transaction
:requestAmount
,requestCurrency
,purchaseAmount
,purchaseCurrency
,reportAmount
,reportCurrency
,isProcessedOutside
- Added field
additionalCriteria
intoGatewayAccount
object - Added field
dueTimeShift
intoBillingAnchor
object - Added
getUpcomingInvoices
andissueUpcomingInvoice
methods to SubscriptionService - Added
recalculate
method to InvoiceService - Added
EmailTemplate
as a part ofEmailNotification
to support multi-locale emails in RulesEngine - Added
getUrlPathSegment
,setUrlPathSegment
,getRedirect
,setRedirect
,getStatus
,setStatus
,getIsCustomCustomerIdAllowed
,setIsCustomCustomerIdAllowed
method toCheckoutPage
- Added
Organization-Id
header to Client config
- Renamed field
billingAnchor
intoinvoiceTimeShift
inSubscription
object
- Deprecated
Transaction
entity method:getPaymentCardId
- Deprecated
PayPalAccount
entity method:setUserName
- Deprecated
PaymentCard
entity method:setStatus
- Deprecated
CheckoutPage
entity methods:getUriPath
,setUriPath
,getAllowCustomCustomerId
,setAllowCustomCustomerId
,getIsActive
,setIsActive
- Removed Payments Queue API
- Removed
Transaction
entity method:getPayment
- Removed
ValuesList
field:name
- Removed field
websites
fromGatewayAccount
object - Removed
EmailNotification
entity methods related to an actualEmailTemplate
- Fixed CurlHandler to support HTTP/2
- Added missing options in Client constructor.
- Added custom fields to
Plan
- Added new write-only property to set payment instrument from
token
for theCustomer
Resource. - Added new property to
RiskMetadata
:region
- Added new properties to
Customer
:averageValue
,paymentCount
,lastPaymentTime
- Added new service
WebhookCredentials
- Added new property to
PaymentCardAuthorization
:redirectUrl
- Added new links to
PaymentCard
:approvalUrl
,authTransaction
- Added new property to
Subscription
:recentInvoiceId
- Added POST to
Transaction
- Added new property to
PaymentCardToken
:isUsed
- Added new blacklist types to
Blacklist
:email-domain
,bank-account
,address
- Added new
taxCategory
toProduct
- Added new property to
Blacklist
:expirationTime
- Added
cancel
method toTransaction
service - Added new properties to
Invoice
:retryInstruction
,autopayScheduledTime
- Added
resend
method to WebhookTracking service - Added
merge
method to Customer service - Added new service
Rule
- Added new method to
AuthenticationTokenService
:exchange
- Added new properties to
Session
:customerId
,type
- Added new properties to
AuthenticationToken
:mode
,invalidate
- Added new properties to
Transaction
:customFields
,description
,processedTime
,scheduledTime
,velocity
,revision
- Added new properties to
PaymentCard
:method
,panFingerprint
- Added new properties to
BankAccount
:accountNumberType
,last4
,bic
,method
,fingerprint
,token
- Added missing getters and setters to
AuthenticationToken
,Transaction
,PaymentCard
,BankAccount
- Removed
delete
method fromSessionService
- Added new method to
SessionService
:logout
- Added new method to
BankAccountService
:update
,createFromToken
- Upgraded minimum PHP version to 7.1
- Deprecated
Customer
entity methods:getFirstName
,setFirstName
,getLastName
,setLastName
,getEmail
,setEmail
- Deprecated
Blacklist
expiredTime
property
- Added new properties to
Plan
:pricing
,recurringInterval
,trial
,setup
- Added new property to
Subscription
:items
- Added new property to
LeadSource
:original
- Replaced magic methods like
get
,post
with explicit defined methods.
- Removed deprecated
Plan
properties:expiredTime
,recurringAmount
,trialAmount
,setupAmount
,recurringPeriodUnit
,recurringPeriodLength
,recurringPeriodLimit
,trialPeriodUnit
,trialPeriodLength
,contractTermUnit
,contractTermLength
,minQuantity
,maxQuantity
- Removed
LeadSources
in Transactions, Invoices and Subscriptions - Removed
LeadSources
endpoint and service. Adding Lead Sources now only possible via Tokens and Customers - Removed deprecated
Subscription
properties:planId
,quantity
,billingContactId
,billingContact
,deliveryContactId
,deliveryContact
- Removed deprecated
LeadSource
property:ipAddress
- Removed
Notification
,EmailNotification
andEmailNotificationTracking
. - Deprecate setting
initialInvoiceId
property when creating aSubscription
.
- Added support for subscription interim invoices.
- Added schema for subscriptions
change-plan
endpoint. - Added
SubscriptionChangePlan
. - Added
lineItems
andlineItemSubtotal
toSubscription
entity. - Implemented new Subscription Cancellations API.
- Implemented Subscription-reactivations API.
- Implemented KYC Documents API.
- Implemented Gateway Account Downtime API.
- Implemented Email Notifications API.
- Added Customer Lifetime Revenue.
- Added route to ApiTracking.
- Added productId to Plan.
- Added setting status to payment card.
- Added payment instrument validation.
- Removed Subscription switch.
- Removed support for Subscription Tracking.
- Removed downtime settings in Gateway Account API.
- Removed custom fields deletion.
- Fixed PATCH calls.
- Fixed reset-password endpoint.
- Fix coupons restrictions.
- Deprecated support for old
subscription/{id}/cancel
endpoint (SubscriptionCancel
with policy). - Deprecated Redemption's redeemedTime in favor of createdTime.
- Updated Invoice methods to use
websiteId
andcustomerId
- Rename
Email
object toForgotPassword
and update corresponding usages. - Fix erroneous import of wrong
Email
object. - Removed Website checkoutPageUri.
- Added ability to configure permission of the
PATCH
method for the user session. - Added missing getters and setters in the
Subscription
,SubscriptionSwitch
,Transaction
,Coupon
. - Added
status
property in theInvoice
. - Added
DELETE
method to the Contacts API. - Added Contact Value Object which is replacement to the relations between
Contact
and other resource, likeTransaction
,Invoice
and others. - Implemented Values List API.
- Added new endpoint to change the Coupon expiration.
- Implemented Products API.
- Implemented Shipping Zone API.
- Implemented Webhooks API.
- Implemented Webhooks Tracking API.
- Implemented Risk Metadata API.
- Removed Email Credentials API, it is never used.
- Removed attribute
threeDSecureType
from theTransaction
.
- Fixed some erroneous properties in resources.
- Added support for
Files
andAttachments
. - Added support for
Subscription
resource attributes:inTrial
andrebillNumber
. - Added support to delete
Layout
resources. - Added support to
activate
aUser
. - Added support to delete a
WebsiteWebhook
.
- Require PHP 7.1 unit tests to pass, and updated README. PHP 5.5 is at end of life and not supported by PHP. We recommend upgrading if you are using PHP 5.5. We will continue support of it for now.
- Fixed
SDK_VERSION
now properly incremented. - Fixed
PaymentCardToken
to properly set themethod
attribute.
- Added support for
Blacklist
expiredTime
attribute, and deprecatedexpireTime
attribute. - Added support for
Coupons
andDiscounts
andRestrictions
. - Added support for
Gateway
object inside ofTransaction
response. - Added support for
LeadSource
onInvoice
,Payment
andSubscription
. - Added support for
Note
s attachedPaymentCard
,GatewayAccount
,Subscription
andTransaction
. - Added support for
Payment
attributesretryInstruction
andretryNumber
, and added support for creating instructions. - Added support for
PaymentCardMigrations
.
- Changed all enum values and made it consistent using
kebab-case
notation of naming. - Moved support for the deprecated Website Webhooks to own object
WebsiteWebhook
. -
LeadSource
is not an independent entity, but a child ofCustomer
,Subscription
,Invoice
, orPayment
.
- Fixed
bankName
attribute inBankAccount
.
- Added
userId
attribute toSession
.
- Fixed
bankName
attribute inBankAccount
.
- Enabled Disputes API.
- Enabled Webhook Tracking API.
- Enabled Subscription Tracking API.
- Enabled API Tracking.
- Use vendor headers without additional prefixes.
- Updated Payment Tokens API, added
paymentInstrument
. - Updated Gateway Accounts API, added
method
. - Updated Payment Cards API, added
bin
. - Updated Payments API, added missing supported methods.
- Since Payment Tokens resource was extended with
paymentInstrument
, all fields related to payment card are deprecated. - The
paymentMethods
was renamed topaymentCardSchemes
, all methods related to old name are deprecated.
- Fixed Gateway payment schemes.
- Added
User-Agent
to all requests. - Added paypal service and default payment method.
- Enabled Checkout Pages API.
- Added API keys management.
- Added
autopay
(boolean) attribute to Subscription entity. - Enabled User management API and Authentication API.
- Added ability to authentication client with JWT.
- Enabled Sessions API.
- Added support of Rate limiting.
- Handle responses with PDF content.
- Enabled Gateway Accounts API.
- Enabled Custom Fields API.
- Updated Payments API, added
cancel
method.
- Update some resource fields.
- Updated Payments API, added
status
andresult
fields, deprecatedstate
field.
- Added support of pagination.
- Enabled Layouts API.
- Enabled Organizations API.
- Added
RebillySignature
helper. - Added fingerprint as blacklist type.
- Enabled custom logger injection.
- Updated Customer Authentication API, added
delete
method to reset token. - Updated Subscriptions API, added
createdTime
andupdatedTime
fields. - Updated Payment Cards API, added creating card from token.
- Updated Transactions API, added
result
field. - Updated Payment Cards API, added
cvv
field. - Updated Tokens API, added
create
andexpire
method. - Updated Plans API, added
delete
method.
- Updated Payments API, fixed field names.
- Fixed resource factory, use decoded URL.
- Fixed response body read.
- Fixed parsing response w/o content.
Multiple fixes and enhancements.
Initial release.