PHPackages                             bluepayment-plugin/module-bluepayment-graphql - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. bluepayment-plugin/module-bluepayment-graphql

ActiveMagento2-module[Payment Processing](/categories/payments)

bluepayment-plugin/module-bluepayment-graphql
=============================================

Autopay payment gateway GraphQL extension for Magento 2.

1.3.0(2mo ago)031.5k—4.2%[1 issues](https://github.com/bluepayment-plugin/module-bluepayment-graphql/issues)PHP

Since Oct 1Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/bluepayment-plugin/module-bluepayment-graphql)[ Packagist](https://packagist.org/packages/bluepayment-plugin/module-bluepayment-graphql)[ RSS](/packages/bluepayment-plugin-module-bluepayment-graphql/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (10)Versions (10)Used By (0)

Tabela kompatybilności
----------------------

[](#tabela-kompatybilności)

BlueMedia\_BluePaymentBlueMedia\_BluePaymentGraphQlbluemedia/bluepayment-pwa (JS)MagentoPHPMagento PWA2.31.01.3.00.0.82.4.6 - 2.4.88.1 - 8.312.x - 14.x2.21.21.2.60.0.82.4.2 - 2.4.57.4 - 8.110.x2.17.11.2.4-1.2.50.0.82.4.2 - 2.4.37.4 - 8.110.x2.16.01.2.20.0.42.4.2 - 2.4.37.4 - 8.110.x2.15.01.1.00.0.32.4.27.410.xInstalacja modułu
-----------------

[](#instalacja-modułu)

Wykonaj polecenie poprzez composer:

```
composer require bluepayment-plugin/module-bluepayment-graphql
```

Aktywacja
---------

[](#aktywacja)

1. Wejdź do katalgu głównego Magento i wykonaj następujące polecenia:

```
bin/magento module:enable BlueMedia_BluePaymentGraphQl --clear-static-content
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

2. Gotowe. Moduł jest już aktywny.

Szczegóły techniczne
--------------------

[](#szczegóły-techniczne)

1. **Czy w dostępnych kanałach płatności w query bluepaymentGateways() są od razu BLIK, płatność kartą i lista banków do szybkich przelewów? Jeśli w standardzie jest zwracanie listy banków, to czy można dostać sam "szybki przelew/PBL" z opcją wyboru konkretnego banku już w WebView?**

Zostaną zwrócone wszystkie kanały, które zostały podpięte w ramach danego serwisu. Oczywiście istnieje możliwość podpięcia jedynie szybkich przelewów/PBL.

Doprecyzowując, **available\_payment\_methods** zwraca najpierw wszystkie metody, które są oznaczone jako 'Oddzielna metoda płatności'. To znaczy, że otrzymujemy np. Płatności Blue Media, BLIK, karty. Następnie można wywołać **bluepaymentGateways** – to query da nam wszystkie kanały dostępne w ramach głównej metody płatności (tj. nieoznaczone jako 'Oddzielna metoda płatności'), np. w przypadku Płatność Blue Media zwracane są poszczególne banki w ramach PBL/szybki przelew.

2. **Czy klucze płatności gateway\_id są stałe i czy czy można je bezpiecznie zapisać na sztywno w kodzie, np. po stronie aplikacji lub backendu?**

Klucze płatności **gateway\_id** nie są stałe. Każdy z nich może w przyszłości ulec zmianie, ale takie modyfikacje są zazwyczaj rzadkością. Zdarzają się, gdy dochodzi do fuzji banków lub innej zmiany, która wymusza na nas zmianę danego kanału.

3. **Czym się różni PBL od szybkich przelewów?**

W PBL dane są podstawiane w bankowości (klient jedynie zatwierdza płatność), w przypadku szybkiego przelewu klient musi przepisać otrzymane dane. To jedyna różnica między tymi dwiema metodami. Każdy z przelewów jest realizowany wewnątrzbankowo.

4. **Kiedy możemy mieć do czynienia z is\_separated\_method?**

Oznacza to, że można rozdzielić kanały jako osobne formy płatności, np wyodrębnić karty od pozostałych, lub pokazać te kanały, z których klienci najczęściej korzystają.

**Gdzie można to ustawić? W panelu Magento?**

Tak, można to ustawić bezpośrednio w panelu Magento 2 – w edycji konkretnego kanału. Można w ten sposób wyodrębnić np. Płatności Blue Media, BLIK, płatności kartą. To znaczy, że np. karty mogą być traktowane jako oddzielna metoda, pokazywane podczas wyboru głównej metody Płatności Blue Media lub być jedną z opcji wśród dostępnych kanałów płatności.

5. **Dlaczego w mutacji setPaymentMethodOnCart() parametr gateway\_id jest opcjonalny?**

Parametr jest opcjonalny, ponieważ możemy wywołać konkretne kanały, wskazując wówczas ich gateway\_id. Nie jest to jednak konieczne – możemy pokazać wszystkie dostępne kanały po przekierowaniu użytkownika na stronę BlueMedia.

6. **Czy redirecturl służy wyłącznie do odnotowania zakończenia procesu płatności, ale nie jest on tożsamy z pozytywnym/negatywnym/oczekującym statusem płatności? Czy jedyną opcją pobrania aktualnego statusu płatności jest cykliczne odpytywanie serwera?**

RedirectUrl odnośni się jedynie do strony powrotu po płatności – widoku, na który klient ma zostać przekierowany po transakcji. Aktualny status transakcji przekazujemy w komunikacie ITN.

7. **W jaki sposób pobrać nazwę aktualnie wybranego sposobu płatności, np. "Przelew Volkswagen Bank"?**

Proszę wykonać następującą zapytanie:

```
query{
  cart(cart_id: „..."){
    id
    email
    selected_payment_method {
      title
    }
  }
}
Zapytanie zwraca nazwę kanału, np. "PG płatność testowa”.
```

8. **Przekazując bluemedia\_509 mamy techniczną możliwość nieprzekazania payment\_method:{bluepayment:{back\_url}}. Czy dobrze zakładam, że jednak zawsze należy ją podać?**

Jeżeli nie zostanie podana, wówczas użytkownik zostanie przekierowany na adres powrotu ustawiony w panelu oplacasie-accept.bm.pl (lub oplacasie.bm.pl dla wersji produkcyjnej).

9. **Skąd pobrać aktualną konfigurację back\_url, którą trzeba przekazać przy mutacji setPaymentMethodOnCart? Czy jest ona zdefiniowana gdzieś w panelu Blue Media? Czy może ten parametr jest niezależny od konfiguracji i możemy tutaj przekazać dowolne URL?**

Można przekazać dowolny URL, zaczynający się od http:// lub https://.

10. **Czy available\_payment\_methods.code: bluepayment jest stały, czy jest szansa zmiany tego klucza?**

Klucz jest i będzie stały. Nie ma możliwości jego zmiany.

11. **Ile czasu zajmuje powiadomienie serwera klienta/merchanta o statusie płatności?**

System przekazuje powiadomienia o zmianie statusu transakcji niezwłocznie po otrzymaniu takiej informacji z Kanału Płatności (komunikat zawsze dotyczy pojedynczej transakcji).

12. **Zapytanie bluepaymentOrder(hash: String!, order\_number: String!): BluePaymentOrder! wymaga podania hash, którego nie znamy i nie otrzymujemy ani przy mutacji placeOrder, ani w żadnym innym miejscu. Co teraz?**

W tym przypadku hash jest doklejany do adresu back\_url. Np. dla ustawionego back\_url na  użytkownik zostanie przekierowany na: [https://pwa-studio-latest-accept.blue.pl/bluepayment?ServiceID=101636&amp;OrderID=k8s\_000000139&amp;Hash=30df99b5c49c3568ee465943e3cdab3742aef804f12646df8de66c39c281ee0e](https://pwa-studio-latest-accept.blue.pl/bluepayment?ServiceID=101636&OrderID=k8s_000000139&Hash=30df99b5c49c3568ee465943e3cdab3742aef804f12646df8de66c39c281ee0e)

Hash jest liczony wg. wzoru: sha256($id\_serwisu|$orderId|$klucz\_serwisu)

13. **Jak pobrać aktualnie wybrany kanał płatności?**

Do available\_payment\_methods został dodany gateway\_id. Dla oddzielnych metod płatności zwraca ID kanału bluemedia, dla wszystkich pozostałych metod płatności jest nullem.

Przykład:

```
query getPaymentInformation($cartId: String!) {
  cart(cart_id: $cartId) {
    id
    selected_payment_method {
      code
      __typename
    }
    ...AvailablePaymentMethodsFragment
    __typename
  }
}
fragment AvailablePaymentMethodsFragment on Cart {
  id
  available_payment_methods {
    code
    title
    gateway_id
    __typename
  }
  __typename
}

```

Gdzie `$value` jest kwotą brutto koszyka (cart.prices.grand\_total.value), a `$currency` jest aktualną walutą koszyka (cart.prices.grand\_total.currency). W odpowiedzi otrzymasz tablice obiektów:

```
gateway_id: ID!
name: String!
bank_name: String
short_description: String
description: String
sort_order: Int
type: String
logo_url: String!
is_separated_method: Boolean!
min_amount: Float
max_amount: Float
```

KluczOpisgateway\_idID kanału płatnościnameNazwa kanału, zgodnie z ustawieniem w panelu administracyjnym Magentobank\_nameNazwa banku powiązanego z kanałem płatnościshort\_descriptionKrótki opis kanału płatnościdescriptionOpis kanału (zarządzalny z poziomu panelu administracyjnego Magento)sort\_orderKolejność sortowania (zarządzalna z poziomu panelu administracyjnego Magento)typeTyp kanału płatności (aktualnie dostępne opcje: PBL, Szybki Przelew, Raty online, Portfel elektroniczny, BLIK)logo\_urlAdres URL do logotypu kanału. Możliwy do nadpisania w panelu administracyjnym Magentois\_separated\_methodCzy kanał powinien być wyświetlany jako osobna metoda płatności (zgodnie z ustawieniem w panelu administracyjnym Magento)min\_amountMinimalna kwota transakcji dla danego kanału (null = brak limitu)max\_amountMaksymalna kwota transakcji dla danego kanału (null = brak limitu)
14. **Czy można przekazać kanał płatności, podając kod w formacie bluepayment\_509?**

Dla mutacji **setPaymentMethodOnCart** została dodana obsługa kodów w formacie **bluepayment\_509**. Jeśli w taki sposób zostanie wysłany kod metody płatności – backendowo zostanie on „przepisany” na odpowiednio bluepayment z kanałem 509.

Przykład:

```
query getBluePaymentAgreements($gatewayId: ID!, $currency: CurrencyEnum!, $locale: String!) {
  bluepaymentAgreements(gateway_id: $gatewayId, currency: $currency, locale: $locale) {
    regulation_id
    type
    url
    label_list {
      label_id
      label
      placement
      show_checkbox
      checkbox_required
    }
  }
}
```

Jako `$locale` podajemy język użytkownika w formacie BCP-47, ale podkreśleniem zamiast myślnika (np. pl\_PL, en\_US). W odpowiedzi dostajemy listę zgód dla danego kanału płatności.

KluczOpislabel\_idIdentyfikator klauzuli, przekazywane na potrzeby diagnostyczne (może być przez Partnera ignorowany).labelTreść klauzuli do wyświetlenia w Serwisie w powiązaniu z odpowiednim regulationID. W niektórych przypadkach może zawierać link do regulaminu.placementInformacja, stanowiąca sugestię, gdzie umieścić klauzule. Aktualne wartości:
- TOP\_OF\_PAGE – na górze Serwisu (np. w okolicach logo/bannera górnego).
- NEAR\_PAYWALL – w okolicach listy kanałów płatności (bezpośrednio nad, pod lub obok).
- ABOVE\_BUTTON – nad przyciskiem „Rozpocznij płatność”.show\_checkboxInformacja, czy klauzula powinna być wyświetlana obok checkboxa do akceptacji użytkownika.checkbox\_requiredInformacja, czy wyświetlany Checkbox musi być zaakceptowany przez użytkownika, aby móc kontynuować płatność. UWAGA: W przypadku wartości true, należy zablokować przycisk „Rozpocznij płatność”, do czasu zaznaczenia checkboxa.Zgody po stronie Magento są cachowane na 15 minut (dla konkretnego kanału płatności, waluty i języka).

### Rozpoczęcie płatności

[](#rozpoczęcie-płatności)

Wywołaj mutację `setPymentMethodOnCart`, podając kod metody płatności na `bluepayment` rozszerzoną o
Przykład:

```
mutation setPaymentMethodOnCart($cartId: String!, $backUrl: String!, $gatewayId: ID, $agreementsIds: String) {
  setPaymentMethodOnCart(
    input: {
      cart_id: $cartId
      payment_method: {
          code: "bluepayment_1899"
            bluepayment: {
              create_payment: true
              back_url: $backUrl,
            agreements_ids: $agreementsIds
            }
      }
  }) {
    cart {
      selected_payment_method {
        code
        title
      }
    }
  }
}
```

KluczOpiscart\_idIdentyfikator koszykacreate\_paymentCzy utworzyć transakcję płatniczą w BlueMediaback\_urlInformacja, stanowiąca sugestię, gdzie umieścić klauzule. Aktualne wartości:
- TOP\_OF\_PAGE – na górze Serwisu (np. w okolicach logo/bannera górnego).
- NEAR\_PAYWALL – w okolicach listy kanałów płatności (bezpośrednio nad, pod lub obok).
- ABOVE\_BUTTON – nad przyciskiem „Rozpocznij płatność”.gateway\_idOpcjonalnie - ID kanału płatnościagreements\_idsOpcjonalne - lista zaakceptowanych (show\_checkbox=true) lub wyświetlonych (show\_checkbox=false) klauzul, rozdzielone przecinkami (np. `1,10,20`)Jeśli `create_payment` zostało ustawione na `True`, po złożeniu zamówienia, zostanie rozpoczęta transakcja w BlueMedia. Następnie pobierz `redirectUrl` dla danego zamówienia i przekieruj użytkownika na podany adres.

Pobranie redirectUrl
--------------------

[](#pobranie-redirecturl)

Wywołaj query `redirectUrl`, przykła:

```
query getRedirectUrl($orderNumber: String!) {
  redirectUrl(order_number: $orderNumber)
}
```

W odpowiedzi otrzymasz `redirectUrl` z adresem na jaki należy przekierować użytkownika. Po zakończeniu płatności, użytkownik zostanie przekierowany na adres podany w parametrze `back_url`

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance83

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~200 days

Recently: every ~382 days

Total

9

Last Release

85d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0a6583806fd8fbfbbebdfe826ec140dab433fbc68e103262ba076853dc8fe5c5?d=identicon)[bluemedia](/maintainers/bluemedia)

---

Top Contributors

[![zalazdi](https://avatars.githubusercontent.com/u/603454?v=4)](https://github.com/zalazdi "zalazdi (20 commits)")[![jagozajac](https://avatars.githubusercontent.com/u/87177993?v=4)](https://github.com/jagozajac "jagozajac (4 commits)")

### Embed Badge

![Health badge](/badges/bluepayment-plugin-module-bluepayment-graphql/health.svg)

```
[![Health](https://phpackages.com/badges/bluepayment-plugin-module-bluepayment-graphql/health.svg)](https://phpackages.com/packages/bluepayment-plugin-module-bluepayment-graphql)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
