{"id":27158885,"url":"https://github.com/activecollab/payments","last_synced_at":"2025-07-03T19:37:19.243Z","repository":{"id":56940250,"uuid":"44312758","full_name":"activecollab/payments","owner":"activecollab","description":"Prepare orders and receive payments","archived":false,"fork":false,"pushed_at":"2019-06-24T10:21:19.000Z","size":260,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-11T00:07:51.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/activecollab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-15T11:22:42.000Z","updated_at":"2022-09-15T11:03:00.000Z","dependencies_parsed_at":"2022-08-21T01:40:20.830Z","dependency_job_id":null,"html_url":"https://github.com/activecollab/payments","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/activecollab/payments","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activecollab%2Fpayments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activecollab%2Fpayments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activecollab%2Fpayments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activecollab%2Fpayments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/activecollab","download_url":"https://codeload.github.com/activecollab/payments/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/activecollab%2Fpayments/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263389411,"owners_count":23459394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-08T22:39:17.949Z","updated_at":"2025-07-03T19:37:19.212Z","avatar_url":"https://github.com/activecollab.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Payments\n\n[![Build Status](https://travis-ci.org/activecollab/payments.svg?branch=master)](https://travis-ci.org/activecollab/payments)\n\nPrepare orders and receive payments. _Concept and exploration. We'll see where it will lead us._\n\nOrder lifecycle events:\n\n1. Completed,\n2. Partially refunded,\n3. Fully refunded.\n\nSubscription lifecycle events:\n\n1. Activation,\n2. Successful rebill,\n3. Failed rebill,\n4. Change,\n5. Deactivation.\n\nWhen gateway listens to notifications from the gateway service, it should use `ActiveCollab\\Payments\\Dispatcher` instance\nto dispatch events so application can react to these order and/or subscription changes.\n\n## Working with Addresses\n\n## Address Interfaces\n\n`ActiveCollab\\Payments\\Address\\AddressInterface` describe an address. It can be used to define an address of an organization, or of an individual. In case of organizations, we can also keep track of tax ID, for invoicing purposes.\n\n## Addresses Interfaces\n\n`ActiveCollab\\Payments\\Address\\AddressesInterface` is used to handle situations where addressible object can have more than one address. For example, a merchant can have multiple locations, or it can change primary location at some point in time. Not having other addresses, or lossing info about previous addresses may not be acceptible, so we have to keep track about all addresses associated with the object.\n\nAddresses interface can be combined with of following interfaces, when we want to specify a default address:\n\n1. `ActiveCollab\\Payments\\Address\\OptionalDefaultAddressInterface` when default address is optional,\n1. `ActiveCollab\\Payments\\Address\\RequiredDefaultAddressInterface` when default address is required.\n\n## To do:\n\n1. Subscription change should have the new total and new items.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factivecollab%2Fpayments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factivecollab%2Fpayments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factivecollab%2Fpayments/lists"}