# billingo/4.2.9/src/Validation/Document/Insert/InsertReceiptValidator.php

Billingo Official for WooCommerce, version 4.2.9. 34 lines.

- Page: https://pluginprobe.com/plugins/billingo/4.2.9/code/src/Validation/Document/Insert/InsertReceiptValidator.php
- Raw: https://pluginprobe.com/plugins/billingo/4.2.9/raw/src/Validation/Document/Insert/InsertReceiptValidator.php
- Modified: 2025-05-26T04:53:08+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/billingo/4.2.9/code/src/Validation/Document/Insert/InsertReceiptValidator.php#L10-L20`.

```php
<?php

namespace App\Billingo\Validation\Document\Insert;

use App\Billingo\Enums\CurrencyEnum;
use App\Billingo\Enums\Document\TypeEnum;
use App\Billingo\Enums\PaymentMethodEnum;
use App\Billingo\Models\Document\ReceiptItemData;
use App\Billingo\Models\Document\ReceiptProductData;
use App\Billingo\Validation\Validator;

class InsertReceiptValidator extends Validator
{

    protected function rules(): array
    {
        return [
            'vendor_id' => ['optional', 'string'],
            'partner_id' => ['optional', 'integer'],
            'name' => ['optional', 'string'],
            'emails' => ['optional', 'array'],
            'emails.*' => ['email'],
            'block_id' => ['required', 'integer'],
            'type' => ['required', ['in', getEnumValues(TypeEnum::class)]],
            'payment_method' => ['required', ['in', getEnumValues(PaymentMethodEnum::class)]],
            'currency' => ['required', ['in', getEnumValues(CurrencyEnum::class)]],
            'conversion_rate' => ['optional', 'numeric'],
            'electronic' => ['optional', 'boolean'],
            'items' => ['optional', 'array'],
            'items.*' => ['optional', ['instanceOfAny', [ReceiptItemData::class, ReceiptProductData::class]]],
        ];
    }
}

```
