GitHub: https://github.com/Javen205/JPay
Контактная информация
Как использовать
Шаг 1. Добавьте это в свой корневой build.gradle в конце репозиториев:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Шаг 2. Добавьте зависимость
implementation 'com.github.javen205:JPay:AliPay:latest.release.here'
implementation 'com.github.javen205:JPay:WxPay:latest.release.here'
Например: версия 0.0.5
implementation 'com.github.javen205.JPay:AliPay:0.0.5'
implementation 'com.github.javen205.JPay:WxPay:0.0.5'
// Последняя версия не требует специальной настройки, уже настроена в Library
application
узел добавляет следующий класс
// Последняя версия не требует специальной настройки, уже настроена в Library
com.jpay.wxpay.JPay.getIntance(mContext).toWxPay(appId, partnerId, prepayId, nonceStr, timeStamp, sign, new com.jpay.wxpay.JPay.WxPayListener() {
@Override
public void onPaySuccess() {
Toast.makeText(mContext, "Оплата прошла успешно", Toast.LENGTH_SHORT).show();
}
@Override
public void onPayError(int error_code, String message) {
Toast.makeText(mContext, "Ошибка оплаты>" + error_code + " " + message, Toast.LENGTH_SHORT).show();
}
@Override
public void onPayCancel() {
Toast.makeText(mContext, "Отмена оплаты", Toast.LENGTH_SHORT).show();
}
});
или
com.jpay.wxpay.JPay.getIntance(mContext).toWxPay(payParameters, new com.jpay.wxpay.JPay.WxPayListener() {
@Override
public void onPaySuccess() {
Toast.makeText(mContext, "Оплата прошла успешно", Toast.LENGTH_SHORT).show();
}
@Override
public void onPayError(int error_code, String message) {
Toast.makeText(mContext, "Ошибка оплаты>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
}
@Override
public void onPayCancel() {
Toast.makeText(mContext, "Отмена оплаты", Toast.LENGTH_SHORT).show();
}
});
payParameters
— это строка JSON в следующем формате:
{
"appId": "",
"partnerId": "",
"prepayId": "",
"sign": "",
"nonceStr" : "",
"timeStamp": ""
}
или
JPay.getIntance(mContext).toWxPay(appId, partnerId, prepayId, nonceStr, timeStamp, sign, new JPay.JPayListener() {
@Override
public void onPaySuccess() {
Toast.makeText(mContext, "Оплата прошла успешно", Toast.LENGTH_SHORT).show();
}
@Override
public void onPayError(int error_code, String message) {
Toast.makeText(mContext, "Ошибка оплаты>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
}
@Override
public void onPayCancel() {
Toast.makeText(mContext, "Отмена оплаты", Toast.LENGTH_SHORT).show();
}
});
JPay.getIntance(mContext).toAliPay(orderInfo, new JPay.AliPayListener() {
@Override
public void onPaySuccess() {
Toast.makeText(mContext, "Оплата прошла успешно", Toast.LENGTH_SHORT).show();
}
@Override
public void onPayError(int error_code, String message) {
Toast.makeText(mContext, "Ошибка оплаты>" + error_code + " " + message, Toast.LENGTH_SHORT).show();
``` ```
@Override
public void onPayCancel() {
Toast.makeText(mContext, "Отмена оплаты", Toast.LENGTH_SHORT).show();
}
});
com.jpay.unionpay.JPay.getIntance(mContext).toUnionPay("01", tn, new com.jpay.unionpay.JPay.UnionPayListener() {
@Override
public void onPaySuccess() {
Toast.makeText(mContext, "Оплата прошла успешно", Toast.LENGTH_SHORT).show();
}
@Override
public void onPayError(int error_code, String message) {
Toast.makeText(mContext, "Ошибка оплаты: " + error_code + " " + message, Toast.LENGTH_SHORT).show();
}
@Override
public void onPayCancel() {
Toast.makeText(mContext, "Отмена оплаты", Toast.LENGTH_SHORT).show();
}
@Override
public void onUnionPay(String dataOrg, String sign, String mode) {
Log.d("onUnionPay", "Оплата прошла успешно>необходимо запросить подтверждение заказа на сервере>dataOrg" + dataOrg + " sign>" + sign + " mode>" + mode);
Toast.makeText(mContext, "Оплата прошла успешно>необходимо запросить подтверждение заказа на сервере>" + dataOrg + " " + mode, Toast.LENGTH_SHORT).show();
}
});
Переопределение onActivityResult в Activity для прослушивания обратного вызова
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.e("UnionPay",requestCode+" "+resultCode);
try {
UnionPay.getInstance(this).onUnionPayResult(data);
} catch (JSONException e) {
e.printStackTrace();
}
super.onActivityResult(requestCode, resultCode, data);
}
appId и соответствующие ключи мы получаем с сервера
AndroidManifest.xml
на имя пакета вашего приложения.applicationId
в build.gradle
вашего приложения на имя пакета приложения.Скопируйте ключ в корневой каталог проекта (app) и измените конфигурацию
buildTypes
следующим образом
signingConfigs {
release {
storeFile file("wxkey")
storePassword '123456'
keyAlias '1'
keyPassword '123456'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.release
}
}
Подробные инструкции по оплате через приложения WeChat и Alipay можно найти в справочных материалах адрес блога
Как настроить ngork сервер за 10 минут для работы в локальной сети Оплата через приложение WeChat для Android
Оплата через приложение Alipay для Android
Что вы знаете об оплате через Alipay Wap?
Рекомендация
Разработка официального аккаунта WeChat: подписка и сервисный аккаунт
Упаковка приложений в Android Studio для разных каналов распространения
Управление зависимостями в Android и создание приватного сервера
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )