1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jiangchengshi-pay-assistant

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

欢迎使用 Pay-Assistant

Maven License SpringBoot

简介

支付助手 — 简化配置,注解带飞!

特点

基于微信支付API、支付宝支付API封装

— простое конфигурирование с помощью аннотаций для выполнения операций, связанных с оплатой;

— исключение сложных и утомительных процессов подписи и проверки подписи, упрощение взаимодействия при оплате;

— передача результатов взаимодействия в обратном направлении.

Использование

Импорт зависимостей

implementation("cool.doudou:pay-assistant-boot-starter:latest")

Конфигурация для оплаты через WeChat

Конфигурационные параметры:

pay:
  modes:
    - wx
    - ali
  notify-server-address: http://127.0.0.1:8000
  wx:
    appId: wx000001
    mchId: 14000001
    private-key-path: /home/test.pem
    private-key-serial-number: 70000000001
    api-key-v3: abcdefg
  ali:
    appId: ali00001
    private-key-path: /home/test.pem
    public-key-path: /home/test-pub.pem

Описание параметров

Размещение заказа

Параметр Название WeChat Alipay
outTradeNo Номер заказа продавца Цифры, строчные и прописные буквы _-*, уникален в рамках одного номера продавца Буквы, цифры, символ нижнего подчёркивания, должен быть уникальным на стороне продавца
money Общая сумма В единицах В юанях, с точностью до двух знаков после запятой
description Описание товара Не использовать специальные символы, такие как /, =, & и т. д.
timeExpire Срок действия заказа Формат: yyyy-MM-DDTHH:mm:ss+TIMEZONE Формат: yyyy-MM-dd HH:mm:ss
attach Дополнительные данные Возвращаются без изменений в запросах API и уведомлениях об оплате Возвращаются без изменений в асинхронных уведомлениях и счетах
uid Идентификатор пользователя Идентификатор клиента Идентификатор покупателя Alipay

Возврат средств

Параметр Название WeChat Alipay
outTradeNo Номер заказа продавца Уникален в рамках одного номера продавца, цифры, строчные и прописные буквы _-* Должен быть уникальным в рамках транзакции, буквенно-цифровые символы, включая символ нижнего подчёркивания
outRefundNo Номер возврата Внутренний уникальный номер системы, только цифры, строчные и прописные буквы _-@, вертикальная черта Обозначает один запрос на возврат, должен быть уникален в рамках номера заказа продавца
reason Причина возврата
money Сумма Единицы
refundMoney Сумма возврата Единицы Юани

Счета

— Для счетов по транзакциям WeChat требуется два шага: сначала получить адрес счёта с помощью tradeBill, затем загрузить счёт в виде потока данных байтов с помощью downloadBill.

— Счета по транзакциям Alipay требуют одного шага: получить адрес счёта напрямую с помощью tradeBill.

Использование

Размещение заказов, запросы, закрытие, возврат средств, счета

— PayModeEnum.WX: WeChat;

— PayModeEnum.ALI: Alipay.


@Component
public class PayComponent {
    @Autowired
    private PayHelper payHelper;

    /**
     * Размещение заказа
     */
    public void place() {
        PlaceOrderParam placeOrderParam = new PlaceOrderParam();
        // ...
        payHelper.place(PayModeEnum.WX, placeOrderParam);
    }

    /**
     * Запрос
     */
    public void query() {
        payHelper.query(PayModeEnum.WX, "xxxxxx00001");
    }

    /**
     * Закрытие
     */
    public void close() {
        payHelper.close(PayModeEnum.WX, "xxxxxx00001");
    }

    /**
     * Возврат средств
     */
    public void refund() {
        RefundParam refundParam = new RefundParam();
        // ...
        payHelper.refund(PayModeEnum.WX, refundParam);
    }

    /**
     * Счёт
     */
    public void tradeBill() {
        payHelper.tradeBill(PayModeEnum.WX, "2022-07-07");
    }
}

Уведомления о платежах


@Component
public class PayNotifyComponent {
    /**
     * WeChat
     */
    @WxPayNotify
    public void wxPayNotify(String message) {
        System.out.println(message);
    }

    /**
     * Alipay
     */
    @AliPayNotify
    public void aliPayNotify(String message) {
        System.out.println(message);
    }
}

Другие инструкции

Адрес уведомлений о платеже: система автоматически вызывает методы, помеченные @WxPayNotify или @AliPayNotify.

— WeChat: /pay-notify/wx;

— Alipay: /pay-notify/ali.

Преобразование строки закрытого ключа RSA Alipay в файл pem

— команда openssl используется для генерации файла формата PKCS1 *.pem, начинающегося с -----BEGIN RSA PRIVATE KEY-----.

openssl rsa -inform PEM -in *.txt -outform PEM -out *.pem

— команда openssl преобразует файл в формат PKCS8 *.pem, начинающийся с -----BEGIN PRIVATE KEY-----.

openssl pkcs8 -topk8 -inform PEM -in *.pem -outform PEM -out *_pkcs8.pem -nocrypt

Преобразование строки открытого ключа RSA Alipay в файл pem

— текстовый файл: добавить -----BEGIN PUBLIC KEY----- в начало и -----END PUBLIC KEY----- в конец, изменить расширение на .pem.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Помощник оплаты (WeChat, Alipay). Развернуть Свернуть
Java
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jiangchengshi-pay-assistant.git
git@api.gitlife.ru:oschina-mirror/jiangchengshi-pay-assistant.git
oschina-mirror
jiangchengshi-pay-assistant
jiangchengshi-pay-assistant
dev