Instalowanie usług zarabiania

Usługi zarabiania są rozszerzeniem Apigee Edge, więc nie działają jako samodzielny proces. Działa w ramach dowolnej istniejącej konfiguracji Apigee Edge, z wyjątkiem konfiguracji All-In-One (AIO). Nie możesz zainstalować usług zarabiania w konfiguracji AIO.

Wymagania dotyczące zarabiania

  • Jeśli instalujesz Monetization w topologii Edge, która korzysta z wielu węzłów serwera zarządzania, np. w instalacji z 13 węzłami, przed zainstalowaniem Monetization musisz zainstalować oba węzły serwera zarządzania Edge.
  • Aby zainstalować Zarabianie w Edge, gdy instalacja Edge ma wiele węzłów Postgres, węzły Postgres muszą być skonfigurowane w trybie Master/Standby. Jeśli masz wiele węzłów głównych Postgres, nie możesz zainstalować funkcji Zarabianie w Edge. Więcej informacji znajdziesz w artykule o konfigurowaniu replikacji master-standby w Postgres.
  • Zarabianie nie jest dostępne w konfiguracji All-In-One (AIO).

Omówienie instalacji

Poniżej znajdziesz instrukcje dodawania usług zarabiania do istniejącej instalacji Apigee Edge:

  • Użyj narzędzia apigee-setup, aby zaktualizować węzeł serwera zarządzania Apigee i włączyć usługi zarabiania, takie jak zarządzanie katalogiem, konfiguracja limitów i powiadomień, rozliczenia i raportowanie.

    Jeśli masz wiele węzłów serwera zarządzania, np. instalację z 13 węzłami, przed zainstalowaniem Zarabiania musisz zainstalować oba węzły serwera zarządzania Edge.

  • Użyj narzędzia apigee-setup, aby zaktualizować procesor komunikatów Apigee i włączyć komponenty środowiska wykonawczego usług monetyzacji, takie jak zasady rejestrowania transakcji i egzekwowanie limitów. Jeśli masz kilka procesorów komunikatów, zainstaluj Zarabianie na wszystkich z nich.
  • Przeprowadź proces wprowadzenia do Zarabiania w organizacjach Edge.
  • Skonfiguruj portal usług dla deweloperów Apigee (lub po prostu portal), aby obsługiwał zarabianie. Więcej informacji znajdziesz w artykule o konfigurowaniu zarabiania w portalu dla programistów.

Tworzenie pliku konfiguracji cichej dla Zarabiania

Poniżej znajdziesz przykładowy plik konfiguracji instalacji cichej dla instalacji Monetization. W razie potrzeby zmodyfikuj ten plik, aby dostosować go do swojej konfiguracji. Aby uwzględnić ten plik, użyj opcji -f w setup.sh.

# Edge configuration properties
# Specify IP address or DNS name of node.
IP1=192.168.1.1  # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Edge sys admin credentials
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Specify the Management Server port.
APIGEE_PORT_HTTP_MS=8080

#
# Monetization configuration properties.
#
# Postgres credentials from Edge installation.
PG_USER=apigee    # Default from Edge installation
PG_PWD=postgres    # Default from Edge installation

# Specify Postgres server.
MO_PG_HOST="$IP8"    # Only specify one Postgres node.

# Create a Postgres user for Monetization.
# Default username is "postgre".
# If you specify a different user, that user must already exist.
MO_PG_USER=postgre
MO_PG_PASSWD=moUserPWord

# Specify one ZooKeeper host.
# Ensure this is a ZooKeeper leader node in a multi-datacenter environment.
ZK_HOSTS="$IP2"

# Specify Cassandra information.
# Ensure CASS_HOSTS is set to the same value as when you installed Edge.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Default is "Apigee", unless it was changed during Edge install.
CASS_CLUSTERNAME=Apigee

# Cassandra uname/pword required only if you enabled Cassandra authentication.
# If your password uses special characters, wrap it in single quotes.
# CASS_USERNAME=
# CASS_PASSWORD=

# Specify the region.
# Default is dc-1 unless you are in a multi-datacenter environment.
REGION=dc-1

# If your Edge config file did not specify SMTP information, add it.
# Monetization requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

Uwagi:

  • Jeśli plik konfiguracji Edge nie zawiera informacji o SMTP, dodaj je. Zarabianie wymaga serwera SMTP.
  • W przypadku instalacji w jednym centrum danych nieparzysta liczba węzłów ZooKeeper powinna być skonfigurowana jako voters. Jeśli liczba węzłów ZooKeeper jest parzysta, niektóre węzły zostaną skonfigurowane jako observers. Jeśli instalujesz Edge w parzystej liczbie centrów danych, niektóre węzły ZooKeeper muszą być skonfigurowane jako observers, aby liczba węzłów głosujących była nieparzysta. Podczas wyboru lidera ZooKeeper jeden węzeł głosujący zostanie wybrany jako leader. Upewnij się, że właściwość ZK_HOSTS powyżej określa węzeł lidera w instalacji z wieloma centrami danych.
  • Jeśli włączysz uwierzytelnianie Cassandra, możesz przekazać nazwę użytkownika i hasło Cassandra, używając tych właściwości:
    CASS_USERNAME
    CASS_PASSWORD

Integracja usług zarabiania ze wszystkimi serwerami zarządzania

Aby zintegrować zarabianie na węzłach serwera zarządzania, wykonaj te czynności.

  1. Jeśli instalujesz Zarabianie w topologii Edge, która korzysta z wielu węzłów serwera zarządzania, np. w instalacji z 13 węzłami, przed zainstalowaniem Zarabiania upewnij się, że zainstalowano oba węzły serwera zarządzania.
  2. Na węźle serwera zarządzania uruchom skrypt konfiguracji:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Opcja -p mo określa, że chcesz zintegrować Zarabianie.

    Plik konfiguracji musi być dostępny lub możliwy do odczytania przez użytkownika „apigee”.

  3. Jeśli instalujesz Zarabianie na wielu węzłach serwera zarządzania, powtórz krok 2 na drugim węźle serwera zarządzania.

Po pomyślnej konfiguracji w bazie danych PostgreSQL zostanie utworzony schemat RDBMS dla usług zarabiania. To kończy integrację usług zarabiania i powiązanych z nimi komponentów z serwerem Postgres.

Integracja usług zarabiania ze wszystkimi procesorami komunikatów

Aby zintegrować zarabianie we wszystkich węzłach procesora komunikatów, wykonaj te czynności.

  1. W wierszu poleceń pierwszego węzła procesora komunikatów uruchom skrypt konfiguracyjny:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Opcja -p mo określa, że chcesz zintegrować Zarabianie.

    Plik konfiguracji musi być dostępny lub możliwy do odczytania przez użytkownika „apigee”.

  2. Powtórz tę procedurę na wszystkich węzłach procesora komunikatów.

Po pomyślnym skonfigurowaniu procesor komunikatów zostanie zaktualizowany o usługi zarabiania. W ten sposób zakończysz integrację usług zarabiania i powiązanych z nimi komponentów z procesorami komunikatów.

Wprowadzenie do zarabiania

Aby utworzyć nową organizację i włączyć zarabianie:

  1. Utwórz organizację tak, jak każdą nową organizację. Więcej informacji znajdziesz w artykule Wprowadzanie organizacji.
  2. Użyj interfejsu API do obsługi zarabiania zgodnie z opisem w artykule Włączanie zarabiania w organizacji. Aby to zrobić, musisz mieć uprawnienia administratora systemu.

Gdy następnym razem zalogujesz się w interfejsie Edge, w menu najwyższego poziomu organizacji zobaczysz pozycję Zarabianie:

Aby skonfigurować portal pod kątem obsługi zarabiania, zapoznaj się z artykułem Konfigurowanie zarabiania w portalu dla programistów.

Dodawanie węzła serwera zarządzania do instalacji Zarabiania

Jeśli dodasz serwer zarządzania do istniejącej instalacji Edge, musisz dodać usługi zarabiania do nowego serwera zarządzania i skonfigurować wszystkie serwery zarządzania, aby mogły się komunikować.

Aby dodać serwer zarządzania:

  1. Zainstaluj nowy serwer zarządzania.
  2. Zainstaluj Zarabianie na nowym serwerze zarządzania.
  3. Na pierwotnym serwerze zarządzania wywołaj:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Ponownie uruchom pierwotny serwer zarządzania:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. Na nowym serwerze zarządzania wywołaj:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Ponownie uruchom nowy serwer zarządzania:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Dodatkowa konfiguracja

Przesyłanie dokumentów rozliczeniowych w formacie PDF

Zarabianie wyświetla dokumenty rozliczeniowe użytkownikom w formacie HTML. Aby udostępniać dokumenty rozliczeniowe jako pliki PDF, możesz zintegrować Zarabianie z systemem rozliczeniowym, który umożliwia generowanie plików PDF, lub uzyskać licencję na obsługiwaną bibliotekę PDF innej firmy.

Konfigurowanie ustawień organizacji

Aby dodać lub zaktualizować atrybuty organizacji, możesz użyć żądania PUT, jak w tym przykładzie:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT

Moduł zarabiania odpowiada ustawieniami organizacji. Na przykład:

{
  ...
  "displayName": "Orgnization name",
  "name": "org4",
  "properties": {
    "property": [
      ...
      {
        "name": "MINT_CURRENCY",
        "value": "USD"
      },
      {
        "name": "MINT_COUNTRY",
        "value": "US"
      },
      {
        "name": "MINT_TIMEZONE",
        "value": "GMT"
      }
    ]
  }
}

W tabeli poniżej znajdziesz atrybuty na poziomie organizacji, które są dostępne do skonfigurowania organizacji Mint.

Atrybuty Opis
MINT_TAX_MODEL

Akceptowane wartości to „DISCLOSED”, „UNDISCLOSED”, „HYBRID” (wartość domyślna to null)

MINT_CURRENCY

Kod waluty ISO (domyślnie null)

MINT_TAX_NEXUS

Związek podatkowy (domyślnie null)

MINT_DEFAULT_PROD_TAX_CATEGORY

Domyślna kategoria podatkowa produktu (domyślnie null)

MINT_IS_GROUP_ORG

Czy jest organizacją grupową (domyślnie „false”)

MINT_HAS_BROKER

Has broken (domyślnie: false)

MINT_TIMEZONE

Strefa czasowa (domyślnie null)

MINT_TAX_ENGINE_EXTERNAL_ID

Identyfikator mechanizmu podatkowego (domyślnie null)

MINT_COUNTRY

Kraj organizacji (domyślnie null)

MINT_REG_NO

Numer rejestracyjny organizacji, Wielka Brytania podaje inny numer niż identyfikator podatkowy (domyślnie null)

MINT_BILLING_CYCLE_TYPE

„PRORATED”, „CALENDAR_MONTH” (domyślnie „CALENDAR_MONTH”)

MINT_SUPPORTED_BILLING_TYPE

„PREPAID”/„POSTPAID”/„BOTH” (domyślnie „PREPAID”)

MINT_IS_SEPARATE_INV_FOR_FEES

Wskazuje, czy należy wygenerować osobną fakturę za opłaty (domyślnie „false”).

MINT_ISSUE_NETTING_STMT

Wskazuje, czy należy wydać zestawienie kompensat (domyślnie „false”)

MINT_NETTING_STMT_PER_CURRENCY

Wskazuje, czy zestawienie kompensat powinno być generowane dla każdej waluty (domyślnie „false”)

MINT_HAS_SELF_BILLING

Wskazuje, czy organizacja ma samofakturowanie (domyślnie „false”).

MINT_SELF_BILLING_FOR_ALL_DEV

Wskazuje, czy organizacja ma samofakturowanie dla wszystkich deweloperów (domyślnie „false”).

MINT_HAS_SEPARATE_INV_FOR_PROD

Wskazuje, czy organizacja ma osobną fakturę za każdą usługę (domyślnie „false”)

MINT_HAS_BILLING_ADJUSTMENT

Wskazuje, czy organizacja obsługuje wyrównania płatności (domyślnie „false”).

features.isMonetizationEnabled

Używane przez interfejs zarządzania do wyświetlania menu związanego z zarabianiem (domyślnie „false”)

ui.config.isOperator

Używane przez interfejs zarządzania do wyświetlania dostawcy jako operatora lub organizacji (domyślnie „true”)

Informacje o konfigurowaniu ustawień organizacji biznesowej za pomocą interfejsu zarządzania znajdziesz w artykule Uzyskiwanie dostępu do zarabiania w Edge.

Limity zarabiania

Aby wymusić limity zarabiania, dołącz do serwerów proxy interfejsu API zasadę sprawdzania limitów zarabiania. Zasada jest aktywowana w tych warunkach:

  • Deweloper uzyskujący dostęp do interfejsu API objętego monetyzacją nie jest zarejestrowany lub nie zasubskrybował abonamentu.
  • Deweloper przekroczył liczbę transakcji dla subskrybowanego abonamentu.
  • Osiągnięto saldo konta przedpłaconego dewelopera lub limit kredytu płatności po wykonaniu usługi.

Zasada sprawdzania limitów zarabiania zgłasza błędy i blokuje wywołania interfejsu API w sytuacjach takich jak wymienione powyżej. Zasada rozszerza zasadę Raise Fault i możesz dostosować zwracany komunikat. Odpowiednie warunki są określane na podstawie zmiennych biznesowych.

Więcej informacji znajdziesz w artykule o egzekwowaniu limitów zarabiania na serwerach proxy interfejsu API.