# ivyforms/1.5/backend/src/Repository/Payment/PaymentRepositoryInterface.php

The Innovative Form Builder – IvyForms, version 1.5. 49 lines.

- Page: https://pluginprobe.com/plugins/ivyforms/1.5/code/backend/src/Repository/Payment/PaymentRepositoryInterface.php
- Raw: https://pluginprobe.com/plugins/ivyforms/1.5/raw/backend/src/Repository/Payment/PaymentRepositoryInterface.php
- Modified: 2026-10-05T14:37:20+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/ivyforms/1.5/code/backend/src/Repository/Payment/PaymentRepositoryInterface.php#L10-L20`.

```php
<?php

namespace IvyForms\Repository\Payment;

use IvyForms\Entity\Payment\Payment;

interface PaymentRepositoryInterface
{
    /**
     * @param Payment $entity
     * @return int
     */
    public function add($entity): int;

    /**
     * @param int $entryId
     * @return Payment|null
     */
    public function getByEntryId(int $entryId): ?Payment;

    public function existsByTransactionId(string $transactionId): bool;

    public function getByTransactionId(string $transactionId): ?Payment;

    public function findByProviderOrderId(string $orderId): ?Payment;

    public function updateStatus(int $id, string $status): bool;

    public function update(Payment $entity): void;

    /**
     * @param array<string, mixed>|null $params
     * @return array<string, mixed>
     */
    public function search(?array $params): array;

    /**
     * @param array<string, mixed>|null $params
     * @return int
     */
    public function getCount(?array $params): int;

    /**
     * @param int $id
     * @return int
     */
    public function delete(int $id): int;
}

```
