將程式庫增加至Android項目

1. 將 aar 檔放入 /app/libs
2. 將下面加入 build.gradle 中

mavenCentral()
maven { url 'https://jitpack.io' }

3. 將下面的 dependencies 加入 build.gradle

// Payment API
implementation(name: 'app-release', ext: 'aar')
// Networking
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
// Permission Handler
implementation 'com.github.Redman1037:Android-Permissions:3.8'

在Android App中使用支付程式庫

1. 建立一個SpiralPayment 的物件,apiURL 會在開啓賬戶時告知商戶。

SpiralPayment payment = new SpiralPayment(activity, apiURL);

2. (選項,適用於八達通) 呼叫 “isOctopusAppInstalled” 去檢查手機有沒有安裝八達通APP,如果沒有,則可提供用戶去下載或隱蔽八達通選擇。

if (!payment.isOctopusAppInstalled()) {
    ToastUtils.showLong("Please download Octopus App");
    payment.openGooglePlay2DownloadOctopusApp();
    return;
}


3. 呼叫 “pay” 並提供session ID 以及 PaymentResultCallback。

payment.pay(sessionId, new PaymentResultCallback() {
    @Override
    public void onFinish(PaymentResult paymentResult) {
        // do something
    }

Class 定義

PaymentResult

FieldTypeSample
sessionIdStringMPGSSESSION0002121895830J8251291G62
paymentStatusPaymentStatusAPPROVED

  PaymentStatus

ValueRemark
APPROVED 
CANCELLED 
DECLINED 
NOT_SUPPORTED 
UNCONFIRMED未能確定結果,需要後台再進行查詢。
QUERY_FAILED未能根據session ID取得交易所需資料。交易未在支付APP上發起。
APP_NOT_INSTALLED(適用於八達通) 相關支付App未安裝。