helloasso/helloasso-php 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

helloasso/helloasso-php

最新稳定版本:v1.0.8

Composer 安装命令:

composer require helloasso/helloasso-php

包简介

HelloAsso auto-generated SDK

README 文档

README

The HelloAsso PHP library offers a straightforward way to interact with the HelloAsso API in PHP applications. It features a collection of pre-built classes for API resources that automatically adapt to API responses, ensuring flexibility across different versions of the HelloAsso API.

Installation & Usage

Requirements

PHP 7.4 and later. Should also work with PHP 8.0.

Composer

You can install the bindings via Composer. Run the following command:

composer require helloasso/helloasso-php 

To use the bindings, use Composer's autoload:

require_once 'vendor/autoload.php'; 

Manual Installation

Download the files and include autoload.php:

<?php require_once('/path/to/helloasso-php/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN'); $apiInstance = new OpenAPI\Client\Api\AnnuaireApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client(), $config ); $page_size = 20; // int | The number of items per page $continuation_token = 'continuation_token_example'; // string | Continuation Token from which we wish to retrieve results $hello_asso_api_v5_models_directory_list_forms_request = new \OpenAPI\Client\Model\HelloAssoApiV5ModelsDirectoryListFormsRequest(); // \OpenAPI\Client\Model\HelloAssoApiV5ModelsDirectoryListFormsRequest | Body which contains the filters to apply try { $result = $apiInstance->directoryFormsPost($page_size, $continuation_token, $hello_asso_api_v5_models_directory_list_forms_request); print_r($result); } catch (Exception $e) { echo 'Exception when calling AnnuaireApi->directoryFormsPost: ', $e->getMessage(), PHP_EOL; }

API Endpoints

All URIs are relative to https://api.helloasso.com/v5

Class Method HTTP request Description
AnnuaireApi directoryFormsPost POST /directory/forms Récupérer les formulaires
AnnuaireApi directoryOrganizationsPost POST /directory/organizations Récupérer les organisations
CheckoutApi organizationsOrganizationSlugCheckoutIntentsCheckoutIntentIdGet GET /organizations/{organizationSlug}/checkout-intents/{checkoutIntentId} Récupérer une intention de paiement
CheckoutApi organizationsOrganizationSlugCheckoutIntentsPost POST /organizations/{organizationSlug}/checkout-intents Initialisation d'un Checkout
CommandesApi itemsItemIdGet GET /items/{itemId} Obtenir le détail d'un article contenu dans une commande
CommandesApi ordersOrderIdCancelPost POST /orders/{orderId}/cancel Annuler les paiements futurs pour une commande (pas de remboursement).
CommandesApi ordersOrderIdGet GET /orders/{orderId} Obtenir des informations détaillées sur une commande
CommandesApi organizationsOrganizationSlugFormsFormTypeFormSlugItemsGet GET /organizations/{organizationSlug}/forms/{formType}/{formSlug}/items Obtenir une liste d'articles vendus dans un formulaire
CommandesApi organizationsOrganizationSlugFormsFormTypeFormSlugOrdersGet GET /organizations/{organizationSlug}/forms/{formType}/{formSlug}/orders Obtenir les commandes d'un formulaire
CommandesApi organizationsOrganizationSlugItemsGet GET /organizations/{organizationSlug}/items Obtenir une liste d'articles vendus par une organisation
CommandesApi organizationsOrganizationSlugOrdersGet GET /organizations/{organizationSlug}/orders Obtenir les commandes d'une organisation
FormulairesApi organizationsOrganizationSlugFormTypesGet GET /organizations/{organizationSlug}/formTypes Obtenir une liste des types de formulaires pour une organisation
FormulairesApi organizationsOrganizationSlugFormsFormTypeActionQuickCreatePost POST /organizations/{organizationSlug}/forms/{formType}/action/quick-create Créer un événement simplifié pour un organisme
FormulairesApi organizationsOrganizationSlugFormsFormTypeFormSlugPublicGet GET /organizations/{organizationSlug}/forms/{formType}/{formSlug}/public Obtenir des données publiques détaillées sur un formulaire
FormulairesApi organizationsOrganizationSlugFormsGet GET /organizations/{organizationSlug}/forms Obtenir les formulaires d'une organisation
ListeDeValeursApi valuesCompanyLegalStatusGet GET /values/company-legal-status Obtenir la liste des statuts juridiques
ListeDeValeursApi valuesOrganizationCategoriesGet GET /values/organization/categories Obtenir la liste des catégories du JO
ListeDeValeursApi valuesTagsGet GET /values/tags Obtenir la liste des tags publiques
OrganisationApi organizationsLegalInformationsLegalStructuresGet GET /organizations/legal-informations/legal-structures Obtenir la structure juridique d'une organisation visible.
OrganisationApi organizationsLegalInformationsOrganizationSlugConfigurationGet GET /organizations/legal-informations/{organizationSlug}/configuration Obtenir la configuration des informations juridiques de l'organisation.
OrganisationApi organizationsLegalInformationsOrganizationSlugConfigurationPut PUT /organizations/legal-informations/{organizationSlug}/configuration Mettre à jour la configuration des informations juridiques de l'organisation.
OrganisationApi organizationsLegalInformationsTaxInformationTextsGet GET /organizations/legal-informations/tax-information-texts Obtenir les textes d'information fiscale de l'organisation.
OrganisationApi organizationsOrganizationSlugGet GET /organizations/{organizationSlug} Obtenir le détail d'une organisation
PaiementsApi organizationsOrganizationSlugFormsFormTypeFormSlugPaymentsGet GET /organizations/{organizationSlug}/forms/{formType}/{formSlug}/payments Obtenir les informations des paiements effectués sur un formulaire
PaiementsApi organizationsOrganizationSlugPaymentsGet GET /organizations/{organizationSlug}/payments Obtenir les informations des paiements effectués sur une organisation
PaiementsApi organizationsOrganizationSlugPaymentsSearchGet GET /organizations/{organizationSlug}/payments/search Rechercher des paiements.
PaiementsApi paymentsPaymentIdGet GET /payments/{paymentId} Obtenir les informations détaillées d'un paiement.
PaiementsApi paymentsPaymentIdRefundPost POST /payments/{paymentId}/refund Rembourser un paiement.
PartenairesApi partnersMeApiClientsPut PUT /partners/me/api-clients Mise à jour du domaine
PartenairesApi partnersMeApiNotificationsDelete DELETE /partners/me/api-notifications Suppression de l'URL de notification principale
PartenairesApi partnersMeApiNotificationsOrganizationsOrganizationSlugDelete DELETE /partners/me/api-notifications/organizations/{organizationSlug} Suppression d'une URL de notification liée à une organisation
PartenairesApi partnersMeApiNotificationsOrganizationsOrganizationSlugPut PUT /partners/me/api-notifications/organizations/{organizationSlug} Mise à jour d'une URL de notification liée à une organisation
PartenairesApi partnersMeApiNotificationsPut PUT /partners/me/api-notifications Mise à jour de l'URL de notification principale
PartenairesApi partnersMeGet GET /partners/me Récupération des informations
PartenairesApi partnersMeOrganizationsGet GET /partners/me/organizations Obtenir toutes les organisations
ReusFiscauxApi organizationsOrganizationSlugTaxReceiptConfigurationGet GET /organizations/{organizationSlug}/tax-receipt/configuration Obtenir la configuration des reçus fiscaux
ReusFiscauxApi organizationsOrganizationSlugTaxReceiptConfigurationPut PUT /organizations/{organizationSlug}/tax-receipt/configuration Mettre à jour la configuration des reçus fiscaux
ReusFiscauxApi organizationsOrganizationSlugTaxReceiptFiscalReceiptTransmitterPut PUT /organizations/{organizationSlug}/tax-receipt/fiscal-receipt-transmitter Mettre à jour l'émetteur des reçus fiscaux
ReusFiscauxApi organizationsOrganizationSlugTaxReceiptPreviewPost POST /organizations/{organizationSlug}/tax-receipt/preview Prévisualiser les reçus fiscaux
TagsApi tagsTagNameGet GET /tags/{tagName} Obtenir le détail d'un tag interne
UtilisateursApi usersMeOrganizationsGet GET /users/me/organizations Obtenir mes organisations

Models

Authorization

We use OAuth2 for authentication, so to avoid reinventing the wheel, we recommend using the league/oauth2-client package

Prerequisite

Install the league/oauth2-client package:

composer require league/oauth2-client

Client Credentials Flow

require 'vendor/autoload.php'; use League\OAuth2\Client\Provider\GenericProvider; $provider = new GenericProvider([ 'clientId' => 'your_client_id', 'clientSecret' => 'your_client_secret', 'urlAccessToken' => 'https://api.helloasso.com/oauth2/token', 'urlAuthorize' => '', 'urlResourceOwnerDetails' => '' ]); try { // Get access token using client credentials $accessToken = $provider->getAccessToken('client_credentials'); echo 'Access Token: ' . $accessToken->getToken(); echo 'Expires in: ' . $accessToken->getExpires(); echo 'Refresh Token: ' . $accessToken->getRefreshToken(); } catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) { echo 'Error: ' . $e->getMessage(); }

Refresh Token Flow

require 'vendor/autoload.php'; use League\OAuth2\Client\Provider\GenericProvider; $provider = new GenericProvider([ 'clientId' => 'your_client_id', 'clientSecret' => 'your_client_secret', 'urlAccessToken' => 'https://api.helloasso.com/oauth2/token', 'urlAuthorize' => '', 'urlResourceOwnerDetails' => '' ]); $refreshToken = 'your_refresh_token'; try { // Refresh the access token $newAccessToken = $provider->getAccessToken('refresh_token', [ 'refresh_token' => $refreshToken, ]); echo 'New Access Token: ' . $newAccessToken->getToken(); echo 'Expires in: ' . $newAccessToken->getExpires(); echo 'New Refresh Token: ' . $accessToken->getRefreshToken(); } catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) { echo 'Error: ' . $e->getMessage(); }

Authorization Code Flow

require 'vendor/autoload.php'; use League\OAuth2\Client\Provider\GenericProvider; $provider = new GenericProvider([ 'clientId' => 'your_client_id', 'clientSecret' => 'your_client_secret', 'redirectUri' => 'https://your-app.com/callback', 'urlAuthorize' => 'https://auth.helloasso.com/authorize', 'urlAccessToken' => 'https://api.helloasso.com/oauth2/token', 'urlResourceOwnerDetails' => '' ]); // Function to generate a random code verifier function generateCodeVerifier() { return bin2hex(random_bytes(32)); } // Function to generate a code challenge from the code verifier function generateCodeChallenge($codeVerifier) { return rtrim(strtr(base64_encode(hash('sha256', $codeVerifier, true)), '+/', '-_'), '='); } // Step 1: Generate the authorization URL function GetAuthorizationUrl($provider) { $codeVerifier = generateCodeVerifier(); $codeChallenge = generateCodeChallenge($codeVerifier); $authorizationUrl = $provider->getAuthorizationUrl([ 'state' => 'random_state_string', 'code_challenge' => $codeChallenge, 'code_challenge_method' => 'S256', ]); echo 'Authorization URL: ' . $authorizationUrl . "\n"; echo 'Code verifier: ' . $codeVerifier . "\n"; } // Step 2: Handle the callback and exchange the authorization code for an access token function GetAccessTokenFromCode($provider, $authorizationCode, $codeVerifier) { try { // Get access token $accessToken = $provider->getAccessToken('authorization_code', [ 'code' => $authorizationCode, 'code_verifier' => $codeVerifier ]); echo 'Access Token: ' . $accessToken->getToken() . "\n"; echo 'Expires in: ' . $accessToken->getExpires() . "\n"; echo 'New Refresh Token: ' . $accessToken->getRefreshToken() . "\n"; } catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) { echo 'Error: ' . $e->getMessage(); } } GetAuthorizationUrl($provider); // After user authorizes, exchange the code (passed in the redirect URL callback) //GetAccessTokenFromCode($provider, 'your_authorization_code', 'your_code_verifier');

Tests

To run the tests, use:

composer install vendor/bin/phpunit

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: public
    • Generator version: 7.10.0
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen

统计信息

  • 总下载量: 1.64k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固