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

OSCHINA-MIRROR/javen205-JPay

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

JPay — простой, но не тривиальный платежный SDK

Обёртка над платежами WeChat App, Alipay App и UnionPay App, предоставляющая простой интерфейс и обратный вызов результата платежа

License JPay Автор

Клиентская и серверная части

Контактная информация

QQ0Group Email

Способ использования

1. Координаты

Шаг 1. Добавьте его в ваш основной build.gradle в конце раздела repositories:

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'

2. Настройка Android Manifest

2.1 Объявление прав доступа

// Для последней версии специальных настроек не требуется, они уже включены в библиотеку
```#### 2.2 Регистрация activity

Добавьте следующий контент в узел `<application>`:

// Для последней версии специальных настроек не требуется, они уже включены в библиотеку


### 3. Вызов платежа

#### 3.1 Платеж через WeChat

```java
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();
    }
});
``````java
    @Override
    public void onPayCancel() {
        Toast.makeText(mContext, "Отменён платеж", Toast.LENGTH_SHORT).show();
    }
});
3.2 Платеж через Alipay
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();
    }
});
3.3 Платеж через UnionPay
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 для прослушивания обратных вызовов

@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);
}
```### 4. Пример использования

> appId и связанные ключи мы получаем с сервера

#### 4.1 Указания для клиента

 1. Измените имя пакета в `AndroidManifest.xml` на имя пакета вашего приложения
 2. Измените `applicationId` в `build.gradle` вашего приложения на имя пакета вашего приложения
 3. При тестировании измените ключ подписи по умолчанию

> Скопируйте ключ в корневую директорию проекта (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 } }


#### 4.2 Дополнительные материалы

Подробное описание работы с платежами WeChat и Alipay через мобильные приложения доступно по ссылке [блог](http://javen.blog.csdn.net).

[Как создать свой ngrok-сервер за 10 минут для проксирования внутренней сети](http://javen.blog.csdn.net/article/details/70341106)
[Интеграция WeChat APP платежей в Android](http://javen.blog.csdn.net/article/details/54024232)

[Интеграция Alipay APP платежей в Android](http://javen.blog.csdn.net/article/details/54024238)[Понимаете ли вы WAP-платежи Alipay?](http://javen.blog.csdn.net/article/details/54024253)

**Рекомендую**

[Разработка WeChat Official Account: подписка, сервис](https://gitee.com/javen205/weixin_guide)

[Множественная сборка Android Studio для различных каналов](http://javen.blog.csdn.net/article/details/61420290)

[Управление зависимостями в Android и создание частной серверной среды](http://javen.blog.csdn.net/article/details/60336030)[Загрузка aar (библиотеки) в JCenter с помощью Android Studio](http://javen.blog.csdn.net/article/details/60336189)

Поскольку предоставленный текст представляет собой ссылку на внешний источник, который не содержит текста для перевода, то здесь нет необходимости делать какие-либо изменения. Текст остается без изменений.

Комментарии ( 0 )

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

Введение

Для WeChat App, Alipay App и UnionPay App была выполнена вторичная упаковка платежей. Предоставляется относительно простой интерфейс для внешних пользователей, а также обратный вызов с результатами платежа. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/javen205-JPay.git
git@api.gitlife.ru:oschina-mirror/javen205-JPay.git
oschina-mirror
javen205-JPay
javen205-JPay
master