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

OSCHINA-MIRROR/mayubao2015-Android-Pay

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

Android-Pay

Платёжная библиотека для Android, поддерживающая WeChat Pay и Ali Pay. Разработчик может легко использовать WeChat Pay с помощью двух строк кода. Разработчику также легко использовать Ali Pay с помощью трёх строк кода.

Включение

Gradle

Добавьте следующий код в файл build.gradle вашего приложения:

dependencies {
    // Добавляем платёжную библиотеку
    compile 'io.github.mayubao:pay_library:1.0.1'
}

Maven

<dependency>
  <groupId>io.github.mayubao</groupId>
  <artifactId>pay_library</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

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

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

        // 1. Создаём запрос для Wechat Pay
        WechatPayReq wechatPayReq = new WechatPayReq.Builder()
                .with(this) // экземпляр activity
                .setAppId(appid) // Идентификатор приложения Wechat Pay
                .setPartnerId(partnerid)// Идентификатор партнёра Wechat Pay
                .setPrepayId(prepayid)// Предплатный идентификатор
//                              .setPackageValue(wechatPayReq.get)// "Sign=WXPay"
                .setNonceStr(noncestr)
                .setTimeStamp(timestamp)// Отметка времени
                .setSign(sign)// Подпись
                .create();
        //2. Отправляем запрос с помощью Wechat Pay
        PayAPI.getInstance().sendPayRequest(wechatPayReq);


        // Устанавливаем обратный вызов для Wechat Pay
        // wechatPayReq.setOnWechatPayListener(new OnWechatPayListener);

Примечание: у WechatPayReq нет метода для установки суммы, так как информация о сумме включена в параметр 'prepayid'.

Ali Pay

Первый способ (Не рекомендуется, так как закрытый ключ RSA экспортируется на стороне клиента, что очень опасно!)


        // Шаг 1: создаём конфигурацию для Ali Pay
        AliPayAPI.Config config = new AliPayAPI.Config.Builder()
                .setRsaPrivate(rsa_private) // Закрытый ключ RSA от партнёра (формат pkcs8)
                .setRsaPublic(rsa_public)// Открытый ключ RSA от Ali
                .setPartner(partner) // Устанавливаем партнёра
                .setSeller(seller) // Устанавливаем счёт продавца партнёра
                .create();

        //Шаг 2: создаём запрос для Ali
        AliPayReq aliPayReq = new AliPayReq.Builder()
                .with(activity)// Экземпляр Activity
                .apply(config)// Вышеуказанная пользовательская конфигурация
                .setOutTradeNo(outTradeNo)// Устанавливаем уникальный торговый номер
                .setPrice(price)// Устанавливаем цену
                .setSubject(orderSubject)// Устанавливаем тему заказа
                .setBody(orderBody)// Устанавливаем детали заказа
                .setCallbackUrl(callbackUrl)// Устанавливаем URL обратного вызова для запроса оплаты
                .create()//
                .setOnAliPayListener(null);//

        //Шаг 3: отправляем запрос для Ali Pay
        PayAPI.getInstance().sendPayRequest(aliPayReq);

        //Устанавливаем обратный вызов Ali Pay
        //aliPayReq.setOnAliPayListener(new OnAliPayListener);

Второй способ (Рекомендуется)

        //Шаг 1: Создаём необработанную информацию о заказе Ali Pay
        String rawAliOrderInfo = new AliPayReq2.AliOrderInfo()
                .setPartner(partner) //Устанавливаем партнёра
                .setSeller(seller)  //Устанавливаем счёт продавца партнёра
                .setOutTradeNo(outTradeNo) //Устанавливаем уникальный торговый номер
                .setSubject(orderSubject) //Устанавливаем тему заказа
                .setBody(orderBody) //Устанавливаем детали заказа
                .setPrice(price) //Устанавливаем цену
                .setCallbackUrl(callbackUrl) //Устанавливаем URL обратного вызова для запроса оплаты
                .createOrderInfo(); //Создаём информацию о заказе Ali Pay


        //Шаг 2: Получаем подписанную информацию о заказе Ali Pay от сервера
        String signAliOrderInfo = getSignAliOrderInfoFromServer(rawAliOrderInfo);

        //Шаг 3: Отправляем запрос для Ali Pay
        AliPayReq2 aliPayReq = new AliPayReq2.Builder()
                .with(activity)//Экземпляр Activity
                .setSignedAliPayOrderInfo(signAliOrderInfo)
                .setRawAliPayOrderInfo(rawAliOrderInfo)//Устанавливаем информацию о заказе Ali Pay
                .setSignedAliPayOrderInfo(signAliOrderInfo) //Устанавливаем подписанную информацию о заказе Ali Pay ## Proguard

```xml
#pay_library
-dontwarn io.github.mayubao.pay_library.**
-keep class io.github.mayubao.pay_library.** {*;}

#wechat pay
-dontwarn com.tencent.**
-keep class com.tencent.** {*;}


#alipay
-dontwarn com.alipay.**
-keep class com.alipay.** {*;}

-dontwarn  com.ta.utdid2.**
-keep class com.ta.utdid2.** {*;}

-dontwarn  com.ut.device.**
-keep class com.ut.device.** {*;}

-dontwarn  org.json.alipay.**
-keep class org.json.alipay.** {*;}

Document

wehcat pay official document

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

ali pay official document

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.sdGXaH&treeId=204&articleId=105296&docType=1

Help

If it is helpful to you, could you buy me a cup of coffee?

Wechat

Ali

支付宝支付

Lisence

Copyright 2017 mayubao

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

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

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

Введение

Платёжная библиотека для Android, поддерживающая WeChat Pay и Ali Pay. Разработчик может легко использовать WeChat Pay с помощью двух строк кода. Разработчику также легко использовать Ali Pay — для этого нужно три строки кода. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/mayubao2015-Android-Pay.git
git@gitlife.ru:oschina-mirror/mayubao2015-Android-Pay.git
oschina-mirror
mayubao2015-Android-Pay
mayubao2015-Android-Pay
master