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

OSCHINA-MIRROR/lbh-libPaySdk

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

Платёжный компонент. Краткое описание

Данный компонент включает в себя интеграцию с WeChat, Alipay и UnionPay, обеспечивая быстрое и простое внедрение всего в несколько строк кода.

Пример:

image
image
image
image
image
image

Тестовые учётные записи:

  1. UnionPay:
    • Предоставляются тестовые данные для использования карты и номера телефона (эта информация предназначена только для тестирования и не будет использоваться для официальных транзакций).

    • Информация для тестирования:

      • Номер дебетовой карты: 6226090000000048.
      • Мобильный телефон: 18100000000.
      • Пароль: 111101.
      • Код подтверждения: 123456 (сначала нажмите «Получить код подтверждения», затем введите его).
      • Тип документа: Идентификационное удостоверение личности (01).
      • Идентификационный номер: 510265790128303.
      • Имя: Чжан Сань.
    • Номер кредитной карты: 6226388000000095.

    • Мобильный телефон: 18100000000.

    • CVN2: 248.

    • Срок действия: 12/19.

    • Код подтверждения: 123456 (сначала нажмите «Получить код подтверждения», затем введите его).

    • Тип документа: Идентификационное удостоверение личности (01).

    • Идентификационный номер: 510265790128303.

    • Имя: Чжан Сань.


Руководство по подключению:

  1. Импортируйте зависимости libSdk в проект.
  2. Настройте файл AndroidManifest (конфигурация параметров для сторонних платёжных систем может быть выполнена двумя способами: через метаданные в AndroidManifest или программно; выберите один из способов).
  • 2.1 Скопируйте файл assets/data.bin в проект.
  1. Реализуйте платёж в проекте: конкретные шаги описаны ниже — «Запуск платежа».

Убедитесь, что параметры настроены правильно, иначе могут возникнуть проблемы с запуском платежей через WeChat и Alipay.

// Настройка AndroidManifest

    <activity
        android:name="net.lbh.pay.PaymentActivity"
        android:launchMode="singleTop"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

    <activity-alias
        android:name=".wxapi.WXPayEntryActivity"
        android:exported="true"
        android:targetActivity="net.lbh.pay.PaymentActivity" />
    <!-- Конец интеграции с WeChat -->


    <!-- Начало интеграции с Alipay -->
    <activity
        android:name="com.alipay.sdk.app.H5PayActivity"
        android:configChanges="orientation|keyboardHidden|navigation"
        android:exported="false"
        android:screenOrientation="behind"
        android:windowSoftInputMode="adjustResize|stateHidden" />
    <!-- Конец интеграции с Alipay -->


    <!-- Начало интеграции с UnionPay -->
    
    <activity
        android:name="com.unionpay.uppay.PayActivity"
        android:configChanges="orientation|keyboardHidden"
        android:excludeFromRecents="true"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize" />
        
    <activity
        android:name="com.unionpay.UPPayWapActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize" />

    <!-- Конец интеграции с UnionPay -->


    <!-- Начало интеграции с WeChat (широковещательные приёмники) -->
    <receiver android:name="net.lbh.pay.wxpay.AppRegister" >
        <intent-filter>
            <action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" />
        </intent-filter>
    </receiver>
    <!-- Конец интеграции с WeChat (широковещательные приёмники) -->


    <!-- Параметры интеграции с WeChat: appid необходимо заменить на ваш собственный -->
    <meta-data
        android:name="WXPAY_APP_ID"
        android:value="Замените на свой app id" >
    </meta-data>
    <meta-data
        android:name="WXPAY_MCH_ID"
        android:value="Замените на свой MCH ID" >
    </meta-data>
    <meta-data
        android:name="WXPAY_API_KEY"
        android:value="Замените на свой API key" >
    </meta-data>
    <!-- Параметры интеграции с WeChat: конец, необходимо заменить на ваши собственные -->


    <!-- Параметры интеграции с Alipay: appid необходимо заменить на ваш собственный -->  //Если это более 10 цифр, перед ними нужно добавить ,Eg: \0223987667567887653
    <meta-data
        android:name="ALIPAY_PARTNER_ID"
        android:value="Замените на свой partner id" >
    </meta-data>
    <meta-data
        android:name="ALIPAY_SELLER_ID"
        android:value="Замените на свой seller id" >
    </meta-data>

    <meta-data
        android:name="ALIPAY_PRIVATE_KEY"
        android:value="Замените на свой private key" >
    </meta-data>

    <meta-data
        android:name="ALIPAY_PUBLIC_KEY"
        android:value="Замените на свой public key" >
    </meta-data>
    <!-- Параметры интеграции с Alipay: конец, необходимо заменить на ваши собственные -->

// Инициализация платёжного компонента

    PayAgent payAgent = PayAgent.getInstance(); **payAgent.setDebug(true);**

// 代码初始化 参数, 此处针对场景,所有参数有 自己app server保管的时候,动态的支付配置下发参数
    payAgent.initAliPayKeys(partnerId, sellerId, privateKey, publicKey);
    payAgent.initWxPayKeys(appId, mchId, appKey)
    //      初始化 银联支付 所需的 验签 参数
    //payAgent.initUpPayKeys(PublicKeyPMModulus, publicExponent, PublicKeyProductModulus);
// 代码动态初始化为 可选 

payAgent.initPay(this);

// 调起支付

    PayAgent.getInstance().onPay(payType, this, payInfo,
            new OnPayListener() {

                @Override
                public void onStartPay() {
                    
                    progressDialog.setTitle("Загрузка中。。。");
                    progressDialog.show();
                }

                @Override
                public void onPaySuccess() {
                    
                    Toast.makeText(MainActivity.this,"Оплата прошла успешно!", 1).show();
                    
                    if (null != progressDialog) {
                        progressDialog.dismiss();
                    }

                }

                @Override
                public void onPayFail(String code, String msg) {
                    Toast.makeText(MainActivity.this,
                            "code:" + code + "msg:" + msg, 1).show();
                    Log.e(getClass().getName(), "code:" + code + "msg:" + msg);
                    
                    if (null != progressDialog) {
                        progressDialog.dismiss();
                    }
                }
            });

Платёжные параметры:

PayType: способ оплаты, в настоящее время поддерживается:

  • 1, PayAgent.PayType.WECHATPAY (оплата через WeChat);
  • 2, PayAgent.PayType.ALIPAY (платёж через Alipay);
  • 3, PayAgent.PayType.UPPAY (платёж через UnionPay).

Activity: активность, которая инициирует платёж.

PayInfo:

/** Название товара*/
private String subject;

/** Подробная информация о товаре. Это может быть название товара/название сделки/номер заказа/ключевые слова и т.д. Максимальная длина — 128 китайских иероглифов*/
private String body;

/** Цена товара*/
private String price;

/** Номер заказа товара*/
private String orderNo;

/** Адрес уведомления об оплате*/
private String notifyUrl;

OnPayListener: слушатель оплаты:

  • onStartPay () начало оплаты, здесь можно выполнить подготовку перед оплатой;
  • onPaySuccess(); успешная оплата;
  • onPayFail (String code, String msg); неуспешная оплата, код и сообщение возвращаются в исходном виде.

Настройка параметров сторонних сервисов:

    1. Оплата через Alipay:

Примечание:

    1. При оплате через Alipay все параметры обязательны к передаче;
    1. При оплате через WeChat обязательным параметром является orderNo;
    1. При оплате через UnionPay обязательным параметром также является orderNo. -4. Что касается уведомлений после оплаты, только Alipay настраивается вручную на клиенте, остальные настройки выполняются на сервере.

Примечания:

    1. Во время тестирования можно использовать режим отладки, чтобы включить его, выполните следующие действия: PayAgent payAgent = PayAgent.getInstance(); payAgent.setDebug (true);
    1. Режим отладки (неформальная среда, в настоящее время доступен только для UnionPay): PayAgent payAgent = PayAgent.getInstance (); payAgent.setOnlieMode (false);

Версия:

    1. UnionPay: 3.3.2
    1. Alipay:
    1. WeChat:

Журнал обновлений:

  • Обновление от 15 апреля 2016 года:

    1. Обновление UnionPay SDK, обновление элемента управления UnionPay до версии 3.3.3
    1. Удаление проверки подписи клиента UnionPay; добавление необходимых разрешений (NFC и др.)
    1. Обновите элемент управления UnionPay до версии 3.3.2;
    1. Добавьте режим отладки (режим неформальной среды, в основном ориентированный на UnionPay);

payAgent.setOnlieMode(false);

    1. Добавьте проверку подписи UnionPay, инициализируйте параметры подписи;
    1. Измените Demo, убедитесь, что Demo работает нормально.

Другие примечания:

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

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

Введение

Платёжный SDK — этот компонент объединяет в себе интеграцию с WeChat, Alipay и UnionPay. Он позволяет быстро и легко интегрировать платёжные функции в ваше приложение всего за несколько простых шагов. В дальнейшем можно будет обновить его для поддержки других видов платежей. Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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