{"id":28254953,"url":"https://github.com/chargebee/cb-partner-spi","last_synced_at":"2025-06-16T06:31:50.681Z","repository":{"id":273526988,"uuid":"712777669","full_name":"chargebee/cb-partner-spi","owner":"chargebee","description":"Repo to manage SPI for integrating partner solutions with Chargebee.","archived":false,"fork":false,"pushed_at":"2025-06-13T07:46:35.000Z","size":698,"stargazers_count":0,"open_issues_count":13,"forks_count":1,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-06-13T08:43:24.186Z","etag":null,"topics":["governance","high"],"latest_commit_sha":null,"homepage":"","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chargebee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-01T07:05:51.000Z","updated_at":"2025-03-18T16:04:59.000Z","dependencies_parsed_at":"2025-01-21T13:22:32.367Z","dependency_job_id":"a49f0f2c-60df-4605-b677-b73dae7311b7","html_url":"https://github.com/chargebee/cb-partner-spi","commit_stats":null,"previous_names":["chargebee/cb-partner-spi"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/chargebee/cb-partner-spi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chargebee%2Fcb-partner-spi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chargebee%2Fcb-partner-spi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chargebee%2Fcb-partner-spi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chargebee%2Fcb-partner-spi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chargebee","download_url":"https://codeload.github.com/chargebee/cb-partner-spi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chargebee%2Fcb-partner-spi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260114475,"owners_count":22960911,"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":["governance","high"],"created_at":"2025-05-19T20:16:31.501Z","updated_at":"2025-06-16T06:31:50.621Z","avatar_url":"https://github.com/chargebee.png","language":"MDX","funding_links":[],"categories":[],"sub_categories":[],"readme":"## What is Partner SPI?\nChargebee supports a wide range of third-party integrations to deliver enhanced functionalities to its customers. To facilitate this, Chargebee provides Service Provider Interfaces (SPI), defined in the OpenAPI specification, for various capabilities.\n\nChargebee Partners can leverage this SPI to develop apps that seamlessly integrate with Chargebee, extending its core capabilities to meet diverse business needs.\n\n\n## What are the available Chargebee Partner SPI? \nCurrently, Chargebee offer SPI for the following capabilities:\n\n- [Tax](https://spidocs.chargebee.com/api-reference/partner-spi/overview) \u003c!-- should we have a better name for this? --\u003e\n- [Tax Registration Number Validation](https://spidocs.chargebee.com/api-reference/partner-spi/overview)\n\nSPI allow partners to build custom apps by implementing the SPI-defined endpoints. The detailed OpenAPI specifications for this SPI can be found in the spec/spi folder of the repository:\n\n- [Tax SPI](./spec/spi/openapi_tax.yml) \n- [Tax Registration Number Validation SPI](./spec/spi/openapi_trn.yml)\n\n## Integrate your App with Chargebee\n\nAfter building your app you can integrate it with Chargebee by following the App Onboarding process from [here](https://spidocs.chargebee.com/app-onboarding/guide).\n\n## Getting Started\n\n### Requirement\n\n- Java 17\n  \nIf you are building your application with java, you can use any active library version as dependency in your Maven or Gradle project.\n\n### Maven\n\n```maven\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.chargebee\u003c/groupId\u003e\n    \u003cartifactId\u003ecb-partner-spi\u003c/artifactId\u003e\n    \u003cversion\u003e${version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\n```gradle\nimplementation 'com.chargebee:cb-partner-spi:${version}'\n```\n\nFollowing sample Java code demonstrates how to use the APIs and models from this project:\n\n```java\n\n/// Import classes:\nimport org.chargebee.spi.tax.client.ApiClient;\nimport org.chargebee.spi.tax.client.ApiException;\nimport org.chargebee.spi.tax.client.Configuration;\nimport org.chargebee.spi.tax.client.auth.*;\nimport org.chargebee.spi.tax.client.models.*;\nimport org.chargebee.spi.tax.api.AddressApi;\n\npublic class Example {\n  public static void main(String[] args) {\n    ApiClient defaultClient = Configuration.getDefaultApiClient();\n    defaultClient.setBasePath(\"https://rest.taxes.provider.com/api/v1\");\n\n    // Configure API key authorization: apiKey\n    ApiKeyAuth apiKey = (ApiKeyAuth) defaultClient.getAuthentication(\"apiKey\");\n    apiKey.setApiKey(\"YOUR API KEY\");\n    // Uncomment the following line to set a prefix for the API key, e.g. \"Token\" (defaults to null)\n    //apiKey.setApiKeyPrefix(\"Token\");\n\n    // Configure HTTP bearer authorization: bearerAuth\n    HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication(\"bearerAuth\");\n    bearerAuth.setBearerToken(\"BEARER TOKEN\");\n\n    AddressApi apiInstance = new AddressApi(defaultClient);\n    CheckAddressTaxabilityRequest checkAddressTaxabilityRequest = new CheckAddressTaxabilityRequest(); // CheckAddressTaxabilityRequest | \n    try {\n      CheckAddressTaxabilityResponse result = apiInstance.checkAddressTaxability(checkAddressTaxabilityRequest);\n      System.out.println(result);\n    } catch (ApiException e) {\n      System.err.println(\"Exception when calling AddressApi#checkAddressTaxability\");\n      System.err.println(\"Status code: \" + e.getCode());\n      System.err.println(\"Reason: \" + e.getResponseBody());\n      System.err.println(\"Response headers: \" + e.getResponseHeaders());\n      e.printStackTrace();\n    }\n  }\n}\n\n```\n\n## JSON Schema validation\nThe capabilities of the built apps will be validated against a constantly updating JSON Schema, to validate the correctness and completeness of configurations. JSON Schema can be referenced [here](spec/capabilities/tax-provider.schema.json).\n\n\nRun the below script to perform json schema validation:\n```shell\n  sh json_schema_validation.sh \u003cpath to json file\u003e\n```\nExample:\n```shell\n  sh json_schema_validation.sh spec/capabilities/tax-provider.file.json\n```\n\n## Chargebee Developer Docs\n\n- [Local Setup](docs/local-setup.md)\n- [Add or Update a SPI](docs/add-update-spi.md)\n- [Update Mintlify Files](docs/mintlify-files.md)\n- [Postman Collection](docs/postman-collection.md)\n- [Release](docs/release.md)\n- [Guidelines](docs/guidelines.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchargebee%2Fcb-partner-spi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchargebee%2Fcb-partner-spi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchargebee%2Fcb-partner-spi/lists"}