Android-Pay
Платёжная библиотека для Android, поддерживающая WeChat Pay и Ali Pay. Разработчик может легко использовать WeChat Pay с помощью двух строк кода. Разработчику также легко использовать Ali Pay с помощью трёх строк кода.
Добавьте следующий код в файл build.gradle вашего приложения:
dependencies {
// Добавляем платёжную библиотеку
compile 'io.github.mayubao:pay_library:1.0.1'
}
<dependency>
<groupId>io.github.mayubao</groupId>
<artifactId>pay_library</artifactId>
<version>1.0.1</version>
<type>pom</type>
</dependency>
// 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'.
// Шаг 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.** {*;}
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
If it is helpful to you, could you buy me a cup of coffee?
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 )