Download the PHP package aliziodev/payid-transactions without Composer
On this page you can find all versions of the php package aliziodev/payid-transactions. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download aliziodev/payid-transactions
More information about aliziodev/payid-transactions
Files in aliziodev/payid-transactions
Download aliziodev/payid-transactions
More information about aliziodev/payid-transactions
Files in aliziodev/payid-transactions
Vendor aliziodev
Package payid-transactions
Short Description Payment transaction ledger and webhook event store for PayID ecosystem.
License MIT
Homepage https://github.com/aliziodev/payid-transactions
Package payid-transactions
Short Description Payment transaction ledger and webhook event store for PayID ecosystem.
License MIT
Homepage https://github.com/aliziodev/payid-transactions
Please rate this library. Is it a good library?
Informations about the package payid-transactions
PayID Transactions
Shared payment ledger package for PayID ecosystem.
Requirements
- PHP
^8.3 - Laravel
^12.0|^13.0(illuminate/database,illuminate/support)
CI and Release
- CI workflow runs on push/PR to
main:composer validate --strictcomposer lint-checkcomposer test
- Auto tag release workflow reads version from
composer.jsonat:extra.release.version
- On push to
main(whencomposer.jsonchanges), the workflow:- creates git tag
v<version>if not exists - creates GitHub Release with generated notes
- creates git tag
Release steps for maintainers:
- Bump
extra.release.versionincomposer.json. - Merge/push to
main. - Workflow creates tag and GitHub release automatically.
Scope
- Persist payment transaction lifecycle (
payment_transactions). - Persist webhook delivery and processing trail (
payment_webhook_events). - Provide service contract for recording and updating transaction state.
Schema Notes
- Transaction identity is composite:
provider + merchant_order_id. - If
idempotency_keyis provided, transaction upsert identity becomesprovider + idempotency_key. - Optional polymorphic linkage is available via
subject_type+subject_id. - Webhook table stores replay-safe
event_fingerprintand processing audit fields.
Terminology Glossary
This package uses gateway-neutral naming so one schema can serve multiple providers.
provider: payment gateway identifier (midtrans,stripe,xendit,doku,paddle, etc).merchant_order_id: merchant-side business reference for the payment intent. Common equivalents in other systems:external_id,invoice_number,order_code.provider_transaction_id: gateway-side transaction/reference ID (pi_...,txn_..., etc).idempotency_key: client/service generated deduplication key for retry-safe writes.subject_typeandsubject_id: domain link (similar to polymorphic relation by convention). Examples:order,subscription,marketplace_order,wallet_topup.event_fingerprint: deterministic unique value to detect webhook replay/retry.
Naming Guidelines
Recommended conventions for production teams:
- Keep
providerlowercase slug and stable (stripe, notStripe/STRIPE). - Keep
merchant_order_idimmutable after first successful write. - Use
idempotency_keyfor all external-call retries (charge, confirm, capture, etc). - Use consistent
subject_typevocabulary across services (document in one place). - Put gateway-specific extras in
metadata, keep core columns provider-agnostic.
Gateway Field Mapping (Practical)
- Midtrans:
merchant_order_id<=order_id,provider_transaction_id<=transaction_id. - Stripe:
merchant_order_id<= invoice/external order reference,provider_transaction_id<=payment_intent/chargeID. - Xendit:
merchant_order_id<=external_id,provider_transaction_id<= payment/invoice transaction ID. - DOKU:
merchant_order_id<= merchant invoice/order number,provider_transaction_id<= DOKU transaction reference. - Paddle:
merchant_order_id<= merchant checkout/invoice reference,provider_transaction_id<= Paddle transaction ID.
Non-scope
- Invoice domain model.
- Subscription orchestration.
- Provider API adapter logic.
Install
Publish
Usage
Resolve ledger service from container:
Prune old webhook audit rows:
Real-World Scenarios
The same ledger structure can be used across local and global gateways for ecommerce, subscription billing, marketplace payouts, and digital products.
1) Midtrans - ecommerce checkout (one-time payment)
2) Stripe - SaaS subscription renewal
3) Paddle - digital product/license sale
4) DOKU - local VA payment
5) Xendit - online store with invoice lifecycle
Webhook Audit Example
Use webhook event store for retries/replay visibility and processing outcomes:
Suggested Subject Mapping
- ecommerce order:
subject_type = order,subject_id = order_id - subscription billing:
subject_type = subscription,subject_id = subscription_id - marketplace order:
subject_type = marketplace_order,subject_id = marketplace_order_id - digital goods/license:
subject_type = license_order,subject_id = license_order_id - wallet top-up:
subject_type = wallet_topup,subject_id = topup_id
All versions of payid-transactions with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.3
illuminate/database Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
illuminate/database Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
The package aliziodev/payid-transactions contains the following files
Loading the files please wait ...