Улучшена документация, добавлена поддержка цифрового рубля и улучшена структура DTO

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
2026-01-21 12:46:02 +03:00
parent 58affe3e97
commit 60c99bca40
30 changed files with 385 additions and 156 deletions

View File

@@ -13,6 +13,8 @@ namespace Apoloz\AlfaBank\Sbp\Data\Subscription;
// <SECTION name="module_imports" intent="Import the base Spatie Laravel Data class.">
// <BELIEF_STATE "Extending `Spatie\LaravelData\Data` enables automatic casting from arrays and provides DTO benefits.">
use Spatie\LaravelData\Attributes\MapName;
use Spatie\LaravelData\Attributes\MapOutputName;
use Spatie\LaravelData\Data;
// </SECTION>
@@ -21,10 +23,12 @@ use Spatie\LaravelData\Data;
class RegQrSubRequestData extends Data
{
// <SECTION name="constructor_properties" intent="Define the properties for the QR Code subscription registration request.">
// <BELIEF_STATE "The constructor includes mandatory `TermNo`, `subscriptionPurpose`, `notificationUrl`, and defaults `qrcType` to '03' (subscription). Optional fields like `qrTtl`, `redirectUrl`, `subscriptionServiceId`, and `subscriptionServiceName` provide flexibility for detailed subscription setup.">
// <BELIEF_STATE "The constructor includes mandatory `termNo`, `subscriptionPurpose`, `notificationUrl`, and defaults `qrcType` to '03' (subscription). Optional fields like `qrTtl`, `redirectUrl`, `subscriptionServiceId`, and `subscriptionServiceName` provide flexibility for detailed subscription setup.">
public function __construct(
public string $TermNo,
#[MapName('TermNo')]
public string $termNo,
public string $subscriptionPurpose,
#[MapOutputName('queryData.notificationUrl')]
public string $notificationUrl,
public string $qrcType = '03', // '03' = Subscription
public ?string $qrTtl = null,