1 Star 0 Fork 0

OSCHINA-MIRROR/mayubao2015-Android-Pay

Join Gitlife
Discover and participate in excellent open source projects with over 10 million developers. Private repositories are also completely free :)
Join for free
Clone/Download
Contribute code
Sync code
Cancel
Hint: Since Git does not support empty folders, creating a folder will generate an empty .keep file.
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.

Comments ( 0 )

You can comment after Login

Introduction

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

Releases

No releases yet

Contributor

All

Recent Activities

Load more
No more results to load
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