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

OSCHINA-MIRROR/stary1993-stary-pay-api

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

stary-pay-api

介绍

  1. Содержит продукты и инструменты для оплаты через WeChat, а также API для авторизации через веб-страницы, связанные с WeChat (версия для поставщиков услуг).
  2. Оплата через мини-программы WeChat (версия 1.2.1), авторизация, расшифровка данных о пользователе, информация о мобильном номере (версия 1.3.0).
  3. Платёж через Alipay интегрирован в официальный SDK.
  4. Платёжная система UnionPay через онлайн-шлюз (версия 1.1).

Программная архитектура

Построен с использованием Maven, добавлены зависимости logback-classic, httpcore, httpclient, commons-httpclient, fastjson, javax.servlet-api, bcprov-jdk15on, alipay-sdk-java.

Инструкция по установке

Добавить зависимости (необходимо вручную загрузить в локальный репозиторий):

<dependency>
    <groupId>com.stary.pay</groupId>
    <artifactId>stary-pay-api</artifactId>
    <version>1.3.0</version>
</dependency>

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

  1. Реализовать и внедрить конфигурацию интерфейса Bean для WeChat (IWxpayConfig), Alipay (IAlipayConfig) или UnionPay (IUnionpayConfig).

Пример для WeChat:

@Bean
public IWxpayConfig wxpayConfig(){
    return new IWxpayConfig() {

        @Override
        public String secret() {
            return "secret";
        }

        @Override
        public String refundNotifyUrl() {
            return "refundNotifyUrl";
        }

        @Override
        public String notifyUrl() {
            return "notifyUrl";
        }

        @Override
        public String mchId() {
            return "mchId";
        }

        @Override
        public String subMchId() {
            return "subMchId";
        }

        @Override
        public String key() {
            return "key";
        }

        @Override
        public String subKey() {
            return "subKey";
        }

        @Override
        public String certFile() {
            return "/certFile";
        }

        @Override
        public String subCertFile() {
            return "/subCertFile";
        }

        @Override
        public String appid() {
            return "appid";
        }

        @Override
        public String subAppid() {
            return "subAppid";
        }
    };
}

PS: В случае разработки платёжных сервисов для мини-программ WeChat необходимо добавить префикс mini: к appid.

                @Override
        public String subAppid() {
            return WxpayConstants.MINI + "miniAppid";
        }
  1. Внедрить клиентский запрос Bean:
         @Bean
         public WxpayClient wxpayClient() throws WxpayApiException {
            InitWxpayClient wxpayClient = new InitWxpayClient();
            wxpayClient.setWxpayConfig(wxpayConfig());              
            wxpayClient.setOnlyAuth(false);  // false:платёжный запрос клиента, true:запрос авторизации через веб
            wxpayClient.setServiceProvider(true); // false:обычный продавец, true:поставщик услуг
            wxpayClient.setName("wxpay-01"); // имя клиента
            return wxpayClient.build();
         }
  1. Внедрить бизнес-логику WeChat:
        @Bean
        public Wxpay wxpay() throws WxpayApiException {
            return new Wxpay(wxpayConfig(), wxpayClient());
        }
  1. Автоматически настроить WeChat:
        @Autowired
        private Wxpay wxpay;

Пример использования для создания унифицированного заказа:

        WxpayUnifiedorder unifiedorder = new WxpayUnifiedorder();
        unifiedorder.setBody("название товара");
        unifiedorder.setOut_trade_no("DD201907101400845");
        unifiedorder.setTotal_fee("1");
        unifiedorder.setTrade_type(WxpayTradeType.NATIVE);
        WxpayUnifiedorderResponse  response = wxpay.unifiedorder(unifiedorder);
        if (response.isSuccess()) { // успех запроса на оплату через WeChat			
	   if(WxpayConstants.SUCCESS.equals(response.getResultCode())) {
             // создание унифицированного заказа успешно
	     // собственный код приложения
	    }
        }

Участие в проекте

  1. Официальная документация WeChat Pay: https://pay.weixin.qq.com/wiki/doc/api/index.html
  2. Официальная документация по разработке WeChat Public Account (авторизация через веб): https://mp.weixin.qq.com/wiki
  3. Официальная документация по разработке мини-приложений WeChat: https://developers.weixin.qq.com/miniprogram/dev/framework/
  4. Официальная документация Alipay Payment API: https://docs.open.alipay.com/api
  5. Официальная документация UnionPay Payment API: https://open.unionpay.com/tjweb/api/list

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

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

Введение

Описание недоступно Развернуть Свернуть
Java и 2 других языков
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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