{"id":20954381,"url":"https://github.com/devsisters/go-applereceipt","last_synced_at":"2025-10-27T10:19:02.020Z","repository":{"id":181993366,"uuid":"656531881","full_name":"devsisters/go-applereceipt","owner":"devsisters","description":"Apple-issued receipts parser \u0026 verifier, without any external API call","archived":false,"fork":false,"pushed_at":"2025-03-01T02:06:52.000Z","size":49,"stargazers_count":13,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T13:01:59.540Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/devsisters.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-21T06:22:21.000Z","updated_at":"2025-03-06T08:50:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"30c00206-ddd4-47f9-879e-1c796ab49d95","html_url":"https://github.com/devsisters/go-applereceipt","commit_stats":null,"previous_names":["devsisters/go-applereceipt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fgo-applereceipt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fgo-applereceipt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fgo-applereceipt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fgo-applereceipt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsisters","download_url":"https://codeload.github.com/devsisters/go-applereceipt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254071333,"owners_count":22009773,"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":"2024-11-19T01:14:29.951Z","updated_at":"2025-10-27T10:19:01.902Z","avatar_url":"https://github.com/devsisters.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-applereceipt [![Test](https://github.com/devsisters/go-applereceipt/actions/workflows/test.yaml/badge.svg)](https://github.com/devsisters/go-applereceipt/actions/workflows/test.yaml) [![Go Reference](https://pkg.go.dev/badge/github.com/devsisters/go-applereceipt.svg)](https://pkg.go.dev/github.com/devsisters/go-applereceipt)\n\nGo library to parse and verify Apple App Store receipts, locally on the server.\n\n\u003e The verifyReceipt endpoint is deprecated. To validate receipts on your server, follow the steps in [Validating receipts on the device](https://developer.apple.com/documentation/appstorereceipts/validating_receipts_on_the_device) on your server.\n\u003e — https://developer.apple.com/documentation/appstorereceipts/verifyreceipt\n\nThis library implements the PKCS#7 signature verification and ASN.1 parsing of the payload locally on the server, without the need to call Apple's `verifyReceipt` endpoint. The parsed receipt is filled in a concrete `AppReceipt` struct, which is auto-generated based on [the documented fields](https://developer.apple.com/library/archive/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html) published by Apple.\n\nNote that at this moment, receipts from Apple is signed using SHA1-RSA, which has [removed support since Go 1.18](https://go.dev/issue/41682) and requires `GODEBUG=x509sha1=1` to verify receipts. SHA-256 signatures will be available from receipts since August 14, 2023. ([TN3138](https://developer.apple.com/documentation/technotes/tn3138-handling-app-store-receipt-signing-certificate-changes))\n\n## Installation\n\n```sh\ngo get github.com/devsisters/go-applereceipt\n```\n\n## Usage\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/devsisters/go-applereceipt\"\n\t\"github.com/devsisters/go-applereceipt/applepki\"\n)\n\nfunc main() {\n\treceipt, err := applereceipt.DecodeBase64(\"MIIT...\", applepki.CertPool())\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tfmt.Println(receipt.BundleIdentifier)\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsisters%2Fgo-applereceipt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsisters%2Fgo-applereceipt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsisters%2Fgo-applereceipt/lists"}