gitextract_ygm6ii3b/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ └── workflows/ │ ├── deploy.yml │ ├── lint.yml │ └── test.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── composer.json ├── docs/ │ ├── .editorconfig │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .vitepress/ │ │ ├── config.ts │ │ ├── theme/ │ │ │ ├── components/ │ │ │ │ ├── Banner.vue │ │ │ │ ├── Footer.vue │ │ │ │ ├── SponsorsAside.vue │ │ │ │ ├── SponsorsGroup.vue │ │ │ │ └── VersionTag.vue │ │ │ ├── index.ts │ │ │ └── styles/ │ │ │ ├── badges.css │ │ │ ├── index.css │ │ │ ├── inline-demo.css │ │ │ ├── layout.css │ │ │ ├── options-boxes.css │ │ │ ├── pages.css │ │ │ ├── style-guide.css │ │ │ └── utilities.css │ │ ├── versions.ts │ │ └── vitepress+1.6.3.patch │ ├── README.md │ ├── env.d.ts │ ├── package.json │ ├── postcss.config.js │ ├── purge-caches │ ├── src/ │ │ ├── 3.x/ │ │ │ ├── access_token.md │ │ │ ├── accounts.md │ │ │ ├── anaylsis.md │ │ │ ├── broadcast.md │ │ │ ├── cache.md │ │ │ ├── card.md │ │ │ ├── configuration.md │ │ │ ├── contributing.md │ │ │ ├── events.md │ │ │ ├── index.md │ │ │ ├── installation.md │ │ │ ├── integration.md │ │ │ ├── js.md │ │ │ ├── lucky-money.md │ │ │ ├── material.md │ │ │ ├── menu.md │ │ │ ├── merchant_payment.md │ │ │ ├── message-transfer.md │ │ │ ├── messages.md │ │ │ ├── mini_program.md │ │ │ ├── miscellaneous.md │ │ │ ├── notice.md │ │ │ ├── oauth.md │ │ │ ├── open_platform.md │ │ │ ├── overview.md │ │ │ ├── payment.md │ │ │ ├── poi.md │ │ │ ├── qrcode.md │ │ │ ├── releases.md │ │ │ ├── reply.md │ │ │ ├── roadmap.md │ │ │ ├── semantic.md │ │ │ ├── server.md │ │ │ ├── shake-around.md │ │ │ ├── short-url.md │ │ │ ├── sidebar.js │ │ │ ├── staff.md │ │ │ ├── store.md │ │ │ ├── troubleshooting.md │ │ │ ├── tutorial.md │ │ │ ├── user-group.md │ │ │ ├── user-tag.md │ │ │ └── user.md │ │ ├── 4.x/ │ │ │ ├── basic-services/ │ │ │ │ ├── content_security.md │ │ │ │ ├── jssdk.md │ │ │ │ ├── media.md │ │ │ │ ├── qrcode.md │ │ │ │ └── url.md │ │ │ ├── client.md │ │ │ ├── contributing.md │ │ │ ├── customize/ │ │ │ │ ├── access_token.md │ │ │ │ ├── cache.md │ │ │ │ └── replace-service.md │ │ │ ├── index.md │ │ │ ├── installation.md │ │ │ ├── integration.md │ │ │ ├── micro-merchant/ │ │ │ │ ├── certficates.md │ │ │ │ ├── index.md │ │ │ │ ├── material.md │ │ │ │ ├── media.md │ │ │ │ ├── merchant-config.md │ │ │ │ ├── submit-application.md │ │ │ │ ├── upgrade.md │ │ │ │ └── withdraw.md │ │ │ ├── mini-program/ │ │ │ │ ├── app_code.md │ │ │ │ ├── auth.md │ │ │ │ ├── customer_service.md │ │ │ │ ├── data_cube.md │ │ │ │ ├── decrypt.md │ │ │ │ ├── express.md │ │ │ │ ├── index.md │ │ │ │ ├── nearby_poi.md │ │ │ │ ├── plugin.md │ │ │ │ ├── soter.md │ │ │ │ ├── subscribe_message.md │ │ │ │ └── template_message.md │ │ │ ├── miscellaneous.md │ │ │ ├── official-account/ │ │ │ │ ├── accounts.md │ │ │ │ ├── base.md │ │ │ │ ├── broadcasting.md │ │ │ │ ├── card.md │ │ │ │ ├── comment.md │ │ │ │ ├── configuration.md │ │ │ │ ├── customer_service.md │ │ │ │ ├── data_cube.md │ │ │ │ ├── events.md │ │ │ │ ├── goods.md │ │ │ │ ├── index.md │ │ │ │ ├── material.md │ │ │ │ ├── menu.md │ │ │ │ ├── message-transfer.md │ │ │ │ ├── messages.md │ │ │ │ ├── oauth.md │ │ │ │ ├── poi.md │ │ │ │ ├── reply.md │ │ │ │ ├── semantic.md │ │ │ │ ├── server.md │ │ │ │ ├── shake-around.md │ │ │ │ ├── store.md │ │ │ │ ├── template_message.md │ │ │ │ ├── tutorial.md │ │ │ │ ├── user-tag.md │ │ │ │ └── user.md │ │ │ ├── open-platform/ │ │ │ │ ├── authorizer-delegate.md │ │ │ │ ├── index.md │ │ │ │ └── server.md │ │ │ ├── open-work/ │ │ │ │ ├── index.md │ │ │ │ ├── provider.md │ │ │ │ ├── server.md │ │ │ │ ├── service.md │ │ │ │ └── work.md │ │ │ ├── overview.md │ │ │ ├── payment/ │ │ │ │ ├── bill.md │ │ │ │ ├── contract.md │ │ │ │ ├── index.md │ │ │ │ ├── jssdk.md │ │ │ │ ├── micropay.md │ │ │ │ ├── notify.md │ │ │ │ ├── order.md │ │ │ │ ├── profit-sharing.md │ │ │ │ ├── redpack.md │ │ │ │ ├── refund.md │ │ │ │ ├── reverse.md │ │ │ │ ├── scan-pay.md │ │ │ │ ├── security.md │ │ │ │ └── transfer.md │ │ │ ├── sidebar.js │ │ │ ├── troubleshooting.md │ │ │ └── wework/ │ │ │ ├── agents.md │ │ │ ├── contacts.md │ │ │ ├── external-contact.md │ │ │ ├── group-robot.md │ │ │ ├── index.md │ │ │ ├── invoice.md │ │ │ ├── media.md │ │ │ ├── menu.md │ │ │ ├── message.md │ │ │ ├── oa.md │ │ │ ├── oauth.md │ │ │ └── server.md │ │ ├── 5.x/ │ │ │ ├── basic-services/ │ │ │ │ ├── content_security.md │ │ │ │ ├── jssdk.md │ │ │ │ ├── media.md │ │ │ │ ├── qrcode.md │ │ │ │ └── url.md │ │ │ ├── contributing.md │ │ │ ├── customize/ │ │ │ │ ├── access_token.md │ │ │ │ ├── cache.md │ │ │ │ └── replace-service.md │ │ │ ├── index.md │ │ │ ├── installation.md │ │ │ ├── integration.md │ │ │ ├── micro-merchant/ │ │ │ │ ├── certficates.md │ │ │ │ ├── index.md │ │ │ │ ├── material.md │ │ │ │ ├── media.md │ │ │ │ ├── merchant-config.md │ │ │ │ ├── submit-application.md │ │ │ │ ├── upgrade.md │ │ │ │ └── withdraw.md │ │ │ ├── mini-program/ │ │ │ │ ├── activity_message.md │ │ │ │ ├── app_code.md │ │ │ │ ├── auth.md │ │ │ │ ├── business.md │ │ │ │ ├── customer_service.md │ │ │ │ ├── data_cube.md │ │ │ │ ├── decrypt.md │ │ │ │ ├── express.md │ │ │ │ ├── index.md │ │ │ │ ├── live.md │ │ │ │ ├── mall.md │ │ │ │ ├── nearby_poi.md │ │ │ │ ├── ocr.md │ │ │ │ ├── phone_number.md │ │ │ │ ├── plugin.md │ │ │ │ ├── realtime_log.md │ │ │ │ ├── risk_control.md │ │ │ │ ├── safety_control.md │ │ │ │ ├── search.md │ │ │ │ ├── shipping.md │ │ │ │ ├── short_link.md │ │ │ │ ├── soter.md │ │ │ │ ├── subscribe_message.md │ │ │ │ ├── template_message.md │ │ │ │ ├── union.md │ │ │ │ ├── url_link.md │ │ │ │ └── url_scheme.md │ │ │ ├── miscellaneous.md │ │ │ ├── official-account/ │ │ │ │ ├── accounts.md │ │ │ │ ├── base.md │ │ │ │ ├── broadcasting.md │ │ │ │ ├── card.md │ │ │ │ ├── comment.md │ │ │ │ ├── configuration.md │ │ │ │ ├── customer_service.md │ │ │ │ ├── data_cube.md │ │ │ │ ├── draft.md │ │ │ │ ├── events.md │ │ │ │ ├── goods.md │ │ │ │ ├── index.md │ │ │ │ ├── material.md │ │ │ │ ├── menu.md │ │ │ │ ├── message-transfer.md │ │ │ │ ├── messages.md │ │ │ │ ├── oauth.md │ │ │ │ ├── poi.md │ │ │ │ ├── reply.md │ │ │ │ ├── semantic.md │ │ │ │ ├── server.md │ │ │ │ ├── shake-around.md │ │ │ │ ├── store.md │ │ │ │ ├── template_message.md │ │ │ │ ├── tutorial.md │ │ │ │ ├── user-tag.md │ │ │ │ └── user.md │ │ │ ├── open-platform/ │ │ │ │ ├── authorizer-delegate.md │ │ │ │ ├── index.md │ │ │ │ └── server.md │ │ │ ├── open-work/ │ │ │ │ ├── index.md │ │ │ │ ├── provider.md │ │ │ │ ├── server.md │ │ │ │ ├── service.md │ │ │ │ └── work.md │ │ │ ├── overview.md │ │ │ ├── payment/ │ │ │ │ ├── bill.md │ │ │ │ ├── contract.md │ │ │ │ ├── index.md │ │ │ │ ├── jssdk.md │ │ │ │ ├── micropay.md │ │ │ │ ├── notify.md │ │ │ │ ├── order.md │ │ │ │ ├── profit-sharing.md │ │ │ │ ├── redpack.md │ │ │ │ ├── refund.md │ │ │ │ ├── reverse.md │ │ │ │ ├── scan-pay.md │ │ │ │ ├── security.md │ │ │ │ └── transfer.md │ │ │ ├── sidebar.js │ │ │ ├── troubleshooting.md │ │ │ └── wework/ │ │ │ ├── agents.md │ │ │ ├── calendar.md │ │ │ ├── chat.md │ │ │ ├── contacts.md │ │ │ ├── corp-group.md │ │ │ ├── external-contact.md │ │ │ ├── group-robot.md │ │ │ ├── group-welcome-template.md │ │ │ ├── index.md │ │ │ ├── intercept.md │ │ │ ├── invoice.md │ │ │ ├── jssdk.md │ │ │ ├── kf.md │ │ │ ├── media.md │ │ │ ├── menu.md │ │ │ ├── message.md │ │ │ ├── mini-program.md │ │ │ ├── mobile.md │ │ │ ├── msg-audit.md │ │ │ ├── oa.md │ │ │ ├── oauth.md │ │ │ ├── product.md │ │ │ ├── server.md │ │ │ ├── to-account.md │ │ │ └── wedrive.md │ │ ├── 6.x/ │ │ │ ├── cache.md │ │ │ ├── client.md │ │ │ ├── contributing.md │ │ │ ├── index.md │ │ │ ├── introduction.md │ │ │ ├── logging.md │ │ │ ├── mini-app/ │ │ │ │ ├── config.md │ │ │ │ ├── examples.md │ │ │ │ ├── index.md │ │ │ │ ├── server.md │ │ │ │ └── utils.md │ │ │ ├── oauth.md │ │ │ ├── official-account/ │ │ │ │ ├── config.md │ │ │ │ ├── examples.md │ │ │ │ ├── index.md │ │ │ │ ├── message.md │ │ │ │ ├── server.md │ │ │ │ └── utils.md │ │ │ ├── open-platform/ │ │ │ │ ├── examples.md │ │ │ │ ├── index.md │ │ │ │ └── server.md │ │ │ ├── open-work/ │ │ │ │ ├── examples.md │ │ │ │ ├── index.md │ │ │ │ ├── oauth.md │ │ │ │ └── server.md │ │ │ ├── pay/ │ │ │ │ ├── examples.md │ │ │ │ ├── index.md │ │ │ │ ├── media.md │ │ │ │ ├── server.md │ │ │ │ └── utils.md │ │ │ ├── sidebar.js │ │ │ ├── troubleshooting.md │ │ │ └── work/ │ │ │ ├── examples.md │ │ │ ├── index.md │ │ │ ├── oauth.md │ │ │ ├── server.md │ │ │ └── utils.md │ │ └── index.md │ ├── tailwind.config.js │ └── tsconfig.json ├── phpstan.neon ├── phpunit.xml ├── pint.json ├── src/ │ ├── Kernel/ │ │ ├── Config.php │ │ ├── Contracts/ │ │ │ ├── AccessToken.php │ │ │ ├── AccessTokenAwareHttpClient.php │ │ │ ├── Aes.php │ │ │ ├── Arrayable.php │ │ │ ├── Config.php │ │ │ ├── JsApiTicket.php │ │ │ ├── Jsonable.php │ │ │ ├── RefreshableAccessToken.php │ │ │ ├── RefreshableJsApiTicket.php │ │ │ └── Server.php │ │ ├── Encryptor.php │ │ ├── Exceptions/ │ │ │ ├── BadMethodCallException.php │ │ │ ├── BadRequestException.php │ │ │ ├── BadResponseException.php │ │ │ ├── DecryptException.php │ │ │ ├── Exception.php │ │ │ ├── HttpException.php │ │ │ ├── InvalidArgumentException.php │ │ │ ├── InvalidConfigException.php │ │ │ ├── RuntimeException.php │ │ │ └── ServiceNotFoundException.php │ │ ├── Form/ │ │ │ ├── File.php │ │ │ └── Form.php │ │ ├── HttpClient/ │ │ │ ├── AccessTokenAwareClient.php │ │ │ ├── AccessTokenExpiredRetryStrategy.php │ │ │ ├── HttpClientMethods.php │ │ │ ├── RequestUtil.php │ │ │ ├── RequestWithPresets.php │ │ │ ├── Response.php │ │ │ ├── RetryableClient.php │ │ │ └── ScopingHttpClient.php │ │ ├── Message.php │ │ ├── ServerResponse.php │ │ ├── Support/ │ │ │ ├── AesCbc.php │ │ │ ├── AesEcb.php │ │ │ ├── AesGcm.php │ │ │ ├── Arr.php │ │ │ ├── MessageParser.php │ │ │ ├── Pkcs7.php │ │ │ ├── PrivateKey.php │ │ │ ├── PublicKey.php │ │ │ ├── Str.php │ │ │ ├── UserAgent.php │ │ │ └── Xml.php │ │ └── Traits/ │ │ ├── DecryptJsonMessage.php │ │ ├── DecryptMessage.php │ │ ├── DecryptXmlMessage.php │ │ ├── HasAttributes.php │ │ ├── InteractWithCache.php │ │ ├── InteractWithClient.php │ │ ├── InteractWithConfig.php │ │ ├── InteractWithHandlers.php │ │ ├── InteractWithHttpClient.php │ │ ├── InteractWithServerRequest.php │ │ ├── MockableHttpClient.php │ │ ├── RespondJsonMessage.php │ │ └── RespondXmlMessage.php │ ├── MiniApp/ │ │ ├── AccessToken.php │ │ ├── Account.php │ │ ├── Application.php │ │ ├── Contracts/ │ │ │ ├── Account.php │ │ │ └── Application.php │ │ ├── Decryptor.php │ │ ├── Server.php │ │ └── Utils.php │ ├── OfficialAccount/ │ │ ├── AccessToken.php │ │ ├── Account.php │ │ ├── Application.php │ │ ├── Config.php │ │ ├── Contracts/ │ │ │ ├── Account.php │ │ │ └── Application.php │ │ ├── JsApiTicket.php │ │ ├── Message.php │ │ ├── Server.php │ │ └── Utils.php │ ├── OpenPlatform/ │ │ ├── Account.php │ │ ├── Application.php │ │ ├── Authorization.php │ │ ├── AuthorizerAccessToken.php │ │ ├── ComponentAccessToken.php │ │ ├── Config.php │ │ ├── Contracts/ │ │ │ ├── Account.php │ │ │ ├── Application.php │ │ │ └── VerifyTicket.php │ │ ├── Message.php │ │ ├── Server.php │ │ └── VerifyTicket.php │ ├── OpenWork/ │ │ ├── Account.php │ │ ├── Application.php │ │ ├── Authorization.php │ │ ├── AuthorizerAccessToken.php │ │ ├── Config.php │ │ ├── Contracts/ │ │ │ ├── Account.php │ │ │ ├── Application.php │ │ │ └── SuiteTicket.php │ │ ├── Encryptor.php │ │ ├── JsApiTicket.php │ │ ├── Message.php │ │ ├── ProviderAccessToken.php │ │ ├── Server.php │ │ ├── SuiteAccessToken.php │ │ ├── SuiteEncryptor.php │ │ └── SuiteTicket.php │ ├── Pay/ │ │ ├── Application.php │ │ ├── Client.php │ │ ├── Config.php │ │ ├── Contracts/ │ │ │ ├── Application.php │ │ │ ├── Merchant.php │ │ │ ├── ResponseValidator.php │ │ │ └── Validator.php │ │ ├── Exceptions/ │ │ │ ├── EncryptionFailureException.php │ │ │ └── InvalidSignatureException.php │ │ ├── LegacySignature.php │ │ ├── Merchant.php │ │ ├── Message.php │ │ ├── ResponseValidator.php │ │ ├── Server.php │ │ ├── Signature.php │ │ ├── URLSchemeBuilder.php │ │ ├── Utils.php │ │ └── Validator.php │ └── Work/ │ ├── AccessToken.php │ ├── Account.php │ ├── Application.php │ ├── Config.php │ ├── Contracts/ │ │ ├── Account.php │ │ └── Application.php │ ├── Encryptor.php │ ├── JsApiTicket.php │ ├── Message.php │ ├── Server.php │ └── Utils.php └── tests/ ├── Kernel/ │ ├── EncryptorTest.php │ ├── HttpClient/ │ │ ├── AccessTokenAwareClientTest.php │ │ ├── AccessTokenExpiredRetryStrategyTest.php │ │ ├── HttpClientMethodsTest.php │ │ ├── RequestUtilTest.php │ │ ├── RequestWithPresetsTest.php │ │ ├── ResponseTest.php │ │ └── RetryableClientTest.php │ ├── MessageTest.php │ ├── ServerResponseTest.php │ ├── Support/ │ │ ├── AesCbcTest.php │ │ ├── AesEcbTest.php │ │ ├── AesGcmTest.php │ │ ├── MessageParserTest.php │ │ ├── PrivateKeyTest.php │ │ ├── PublicKeyTest.php │ │ └── UserAgentTest.php │ └── Traits/ │ ├── DecryptJsonMessageTest.php │ ├── DecryptXmlMessageTest.php │ ├── InteractWithCacheTest.php │ ├── InteractWithClientTest.php │ ├── InteractWithConfigTest.php │ ├── InteractWithHandlersTest.php │ ├── InteractWithHttpClientTest.php │ ├── InteractWithServerRequestTest.php │ └── RespondXmlMessageTest.php ├── MiniApp/ │ ├── AccessTokenTest.php │ ├── ApplicationTest.php │ ├── DecryptorTest.php │ └── UtilsTest.php ├── OfficialAccount/ │ ├── AccessTokenTest.php │ ├── AccountTest.php │ ├── ApplicationTest.php │ ├── ConfigTest.php │ ├── JsApiTicketTest.php │ ├── ServerTest.php │ └── UtilsTest.php ├── OpenPlatform/ │ ├── AccountTest.php │ ├── ApplicationTest.php │ ├── AuthorizationTest.php │ ├── AuthorizerAccessTokenTest.php │ ├── ComponentAccessTokenTest.php │ └── ServerTest.php ├── Pay/ │ ├── ApplicationTest.php │ ├── ClientTest.php │ ├── MerchantTest.php │ ├── ServerTest.php │ └── UtilsTest.php ├── TestCase.php ├── Work/ │ ├── AccessTokenTest.php │ ├── AccountTest.php │ ├── ApplicationTest.php │ ├── ConfigTest.php │ ├── JsApiTicketTest.php │ ├── ServerTest.php │ └── UtilsTest.php ├── bootstrap.php └── fixtures/ ├── cert.p12 ├── cert.pem ├── files/ │ ├── demo_cert.pem │ ├── demo_key.pem │ ├── empty.file │ └── pay_demo.json └── private.key