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

OSCHINA-MIRROR/mayubao2015-Android-Pay

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_EN.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 03:01 8a72d4f

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 )

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

1
https://api.gitlife.ru/oschina-mirror/mayubao2015-Android-Pay.git
git@api.gitlife.ru:oschina-mirror/mayubao2015-Android-Pay.git
oschina-mirror
mayubao2015-Android-Pay
mayubao2015-Android-Pay
master