class-atlas/laravel-keepz-ecommerce 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

class-atlas/laravel-keepz-ecommerce

最新稳定版本:1.0.0

Composer 安装命令:

composer require class-atlas/laravel-keepz-ecommerce

包简介

Laravel package for seamless payment gateway via Keepz ecommerce API

README 文档

README

Latest Version on Packagist Total Downloads

This Laravel package provides seamless integration with Keepz's eCommerce API — allowing your application to create, monitor, and manage online orders with ease.

Whether you're creating new orders, tracking their statuses, or canceling them — this package simplifies the interaction with Keepz's API using elegant PHP DTOs and Laravel-style conventions.

📌 Features

  • 🛒 Create Orders
  • 🔍 Check Order Status
  • ❌ Cancel Orders

🧱 Installation

Install the package via Composer:

composer require class-atlas/laravel-keepz-ecommerce

⚙️ Configuration

Add the following to your .env file:

KEEPZ_ECOMMERCE_PRIVKEY=<path_to_keepz_priv_key>
KEEPZ_ECOMMERCE_PUBKEY=<path_to_keepz_pub_key>
KEEPZ_ECOMMERCE_API_URL=https://gateway.keepz.me/ecommerce-service
KEEPZ_ECOMMERCE_INTEGRATOR_ID=<integrator_id>

ℹ️ Note: Public and private key files must be placed under the storage directory. For example:

  • storage/keepz/privkey
  • storage/keepz/pubkey

The values in your .env file should be relative paths from the storage folder, not full system paths.

  • keepz/privkey
  • keepz/pubkey

🛒 Create Order

Use the createOrder method to create a new order with Keepz:

    $uuid = Str::uuid();
            
    $orderData = OrderData::from([
        'receiverId' => $merchant->keepz_id,
        'integratorOrderId' => $uuid,
        'successRedirectUri' => route('order.success'),
        'failRedirectUri' => route('order.error'),
        'amount' => $amount,
    ]);

    $orderData = KeepzEcommerce::createOrder($orderData);

    if ($orderData instanceof ErrorData) {
        if (app()->environment('production')) {
            abort(500);
        } else {
            return $orderData;
        }
    }

    return redirect()->away($orderData->urlForQR);

Returns either:

  • CreateOrderData on success
  • ErrorData on failure (includes error code and message)

🔍 Check Order Status

Use checkOrderStatus to retrieve the latest status of a specific order:

KeepzEcommerce::checkOrderStatus($uuid);

Returns either:

  • CheckOrderStatusData (includes status, timestamps, etc.)
  • ErrorData (if order not found or request fails)

❌ Cancel Order

Use cancelOrder to cancel an existing order via its integratorOrderId:

KeepzEcommerce::cancelOrder($uuid);

Returns:

  • CancelOrderData (contains confirmation and status)

🧱 Data Transfer Objects

Each API response is automatically converted into a strict typed DTO (Data Transfer Object), making it easy to work with structured responses in a Laravel-ish way.

  • ✅ No need to parse JSON manually
  • ✅ IntelliSense & static analysis friendly

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-26