AppPay для Android — это библиотека, специализирующаяся на платежах в приложениях. Она объединяет основные официальные способы оплаты приложений и упрощает процесс интеграции.
Модули AppPay:
AppPay представляет собой повторно упакованную библиотеку, которая упрощает интеграцию платежей в приложениях.
Платежи через WeChat: поддержка вызова официального SDK WeChat для оплаты из приложения. Приложение переходит в WeChat, где происходит оплата, после чего возвращается в приложение с результатом оплаты.
WXPay основан на официальном SDK WeChat и упрощает интеграцию. Быстрое подключение к платежам через WeChat.
Пример кода WXPay:
// Инициализация WeChat Pay
mWXPay = new WXPay(Context context);
// Настройка прослушивателя WeChat Pay
mWXPay.setOnPayListener(new WXPay.OnPayListener() {
@Override
public void onPayResult(WXPayResult result) {
// Результат оплаты
if (result.isSuccess()) {
// TODO Оплата прошла успешно
}
}
});
// Отправка запроса на оплату через WeChat
mWXPay.sendReq(WXPayReq req);
или
// Отправка запроса на оплату через WeChat с прослушиванием (параметр: req — параметры запроса для запуска оплаты)
mWXPay.sendReq(req, new WXPay.OnPayListener() {
@Override
public void onPayResult(WXPayResult result) {
// Результат оплаты
if (result.isSuccess()) {
// TODO Оплата прошла успешно
}
}
});
Оплата через Alipay: интеграция официального SDK Alipay в приложении для осуществления платежей. Подходит для сценариев, когда требуется использовать функции оплаты через Alipay внутри приложения.
AliPay основан на официальном SDK Alipay и упрощает интеграцию. Быстрая настройка платежей через Alipay.
Пример кода AliPay:
// Инициализация Alipay Pay
mAliPay = new AliPay(Activity activity);
// Настройка прослушивателя Alipay Pay
mAliPay.setOnPayListener(new AliPay.OnPayListener() {
@Override
public void onPayResult(AliPayResult result) {
// Результат оплаты
if(result.isSuccess()){
//TODO Оплата прошла успешно
}
}
});
// Отправка запроса на оплату через Alipay
mAliPay.sendReq(String orderInfo);
или
// Отправка запроса на оплату через Alipay с прослушиванием (параметр: orderInfo — информация о заказе для запуска оплаты)
mAliPay.sendReq(orderInfo, new AliPay.OnPayListener() {
@Override
public void onPayResult(AliPayResult result) {
// Результат оплаты
if(result.isSuccess()){
//TODO Оплата прошла успешно
}
}
});
UnionPay поддерживает оплату через различные инструменты, такие как облачные платежи, мобильные платежи и банковские приложения. UnionPay упрощает интеграцию с официальным SDK UnionPay.
Пример кода UnionPay:
// Инициализация UnionPay Pay
mUnionPay = new UnionPay(Context context);
// Настройка прослушивателя UnionPay Pay
mUnionPay.setOnPayListener(new UnionPay.OnPayListener() {
@Override
public void onPayResult(UnionPayResult result) {
// Результат оплаты
if(result.isSuccess()){
//TODO Оплата прошла успешно
}
}
});
// Отправка запроса на оплату через UnionPay (параметры: orderInfo — номер потока данных заказа, serverMode — режим сервера UnionPay, используется для различения тестовой среды и официальной среды)
mUnionPay.sendReq(String orderInfo, String serverMode);
или
//
``` **Отправьте запрос на оплату через UnionPay и прослушайте его;**
(Параметры: orderInfo — номер потока информации о заказе, то есть TN; serverMode — идентификатор среды бэкенда UnionPay. Используется для различения использования тестовой среды и официальной среды. См. UnionPay.PRO_SERVER_MODE и UnionPay.TEST_SERVER_MODE).
mUnionPay.sendReq(orderInfo, serverMode, new UnionPay.OnPayListener() {
@Override
public void onPayResult(UnionPayResult result) {
// результат оплаты
if (result.isSuccess()) {
//TODO оплата прошла успешно
}
}
});
**При использовании UnionPay необходимо вызвать метод onActivityResult(int, int, Intent) в методе onActivityResult Activity**, чтобы активировать прослушивание оплаты.
### AppPay
AppPay — это интеграция всех дочерних библиотек и их повторное объединение, что позволяет легко интегрировать платёж приложения.
#### Пример кода AppPay
```Java
// Инициализация AppPay
mAppPay = new AppPay(Activity activity);
// Отправка запроса на оплату WeChat (параметр: req — параметры запроса оплаты)
mAppPay.sendWXPayReq(req, new WXPay.OnPayListener() {
@Override
public void onPayResult(WXPayResult result) {
// результат оплаты
if (result.isSuccess()) {
// TODO оплата прошла успешно
}
}
});
// отправка запроса на оплату Alipay (параметр: orderInfo — информация о заказе)
mAppPay.sendAliPayReq(orderInfo, new AliPay.OnPayListener() {
@Override
public void onPayResult(AliPayResult result) {
// результат оплаты
if (result.isSuccess()) {
// TODO оплата прошла успешно
}
}
});
// отправка запроса на оплату UnionPay (параметры: orderInfo — номер потока информации о заказе, то есть TN; serverMode — идентификатор среды бэкенда UnionPay. Используется для различения использования тестовой среды и официальной среды. См. UnionPay.PRO_SERVER_MODE и UnionPay.TEST_SERVER_MODE)
mAppPay.sendUnionPayReq(orderInfo, serverMode, new UnionPay.OnPayListener() {
@Override
public void onPayResult(UnionPayResult result) {
// результат оплаты
if (result.isSuccess()) {
// TODO оплата прошла успешно
}
}
});
Необходимо вызвать метод **onActivityResult(int, int, Intent)** в методе **onActivityResult Activity** при использовании UnionPay, чтобы активировать прослушивание оплаты.
Для получения дополнительной информации см. примеры использования в приложении или непосредственно в [документации API](https://jenly1314.github.io/AppPay/api/).
## Дополнительная информация
### Адаптация видимости приложений, связанных с оплатой UnionPay
Если targetSdkVersion равен 30 или выше, добавьте следующее в AndroidManifest, чтобы соответствовать требованиям механизма видимости приложений Android.
Способ 1: напрямую настроить разрешение на чтение всех списков приложений (это может повлиять на размещение приложения)
```java
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
Способ 2: настроить имена пакетов соответствующих приложений, которые необходимо запросить (если вы не можете использовать способ 1, вы можете использовать этот способ)
<!-- Адаптация видимости приложения: поддержка UnionPay соответствует различным пакетам приложений для оплаты -->
<queries>
<!-- Cloud Flash Pay -->
<package android:name="com.unionpay" />
<!-- Другие приложения для Android Pay -->
<package android:name="com.unionpay.tsmservice" />
<!-- Xiaomi Pay -->
<package android:name="com.unionpay.tsmservice.mi" />
<!-- Huawei Wallet -->
<package android:name="com.huawei.wallet" />
<!-- Ping An Pocket Bank -->
<package android:name="com.cmbc.cc.mbank" />
<!-- China Construction Bank -->
<package android:name="com.pingan.paces.ccms" />
<!-- Bank of China Main -->
<package android:name="com.chinamworld.main" />
<!-- Industrial and Commercial Bank of China -->
<package android:name="com.ecitic.bank.mobile" />
<!-- Dynamic Card Space -->
<package android:name="com.citiccard.mobilebank" />
<!-- Guangda Bank -->
<package android:name="com.cebbank.mobile.cemb" />
<!-- Yangguang Hui Life -->
<package android:name="com.ebank.creditcard" />
<!-- Minsheng Bank -->
<package android:name="cn.com.cmbc.newmbank" />
<!-- Whole Life Bank -->
<package android:name="com.cmbc.cc.mbank" />
<!-- Pufang Bank -->
<package android:name="cn.com.spdb.mobilebank.per" />
<!-- Pudong Bank -->
<package android:name="com.spdbccc.app" />
<!-- Transportation Bank -->
<package android:name="com.bankcomm.Bankcomm" />
<!-- Buy One Bar -->
<package android:name="com.bankcomm.maidanba" />
<!-- Merchants Bank -->
<package android:name="cmb.pb" />
<!-- Pluto Life on Hand -->
<package android:name="com.cmbchina.ccd.pluto.cmbActivity" />
<!-- Shanghai Bank -->
<package android:name="cn.com.shbank.mper" />
<!-- Shanghai Pension Bank -->
<package android:name="cn.com.shbank.pension" />
<!-- Beijing Bank (Jingcai Life) -->
<package android:name="com.bankofbeijing.mobilebanking" />
<!-- Jingcai on Hand -->
<package android:name="com.csii.bj.ui" />
<!-- Industrial and Commercial Bank of China -->
<package android:name="icbc" />
<!-- ICBC eLife -->
<package android:name="com.icbc.elife" />
<!-- Agricultural Bank of China -->
<package android:name="com.abchina.agbank" /> ## Другие
### ABI-фильтрация
В модуле **build.gradle** в разделе android{} можно настроить поддерживаемые архитектуры SO-библиотек (необязательно, можно выбрать несколько платформ для so, чем больше поддерживаемых платформ, тем больше размер APK).
```gradle
defaultConfig {
//...
ndk {
// Настройка поддерживаемых архитектур SO-библиотек (разработчик может выбрать одну или несколько платформ по необходимости)
abiFilters 'armeabi-v7a' // , 'arm64-v8a', 'x86', 'x86_64'
}
}
Если вам нравится AppPay или вы считаете, что AppPay вам помог, вы можете поддержать его, поставив «звёздочку». Ваша поддержка — моя мотивация, спасибо
Также вы можете отсканировать следующий QR-код, чтобы поддержать автора чашкой кофе
Мой блог | GitHub | Gitee | CSDN | Блог-сад |
---|---|---|---|---|
Блог Jenly | jenly1314 | jenly1314 | jenly121 | Jenly |
Публичный аккаунт WeChat | Электронная почта Gmail | Электронная почта QQ | Группа QQ | Группа QQ |
---|---|---|---|---|
Jenly666 | <a title="Напишите мне" |
Обратите внимание, что в запросе есть код на языке программирования Gradle, который не был переведён. | jenly1314 | jenly1314 | 20867961 | 64020761 | |---|---|---|---| | jenly1314 | jenly1314 | 20867961 | 64020761|
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )