將程式庫增加至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
Field | Type | Sample |
sessionId | String | MPGSSESSION0002121895830J8251291G62 |
paymentStatus | PaymentStatus | APPROVED |
PaymentStatus
Value | Remark |
APPROVED | |
CANCELLED | |
DECLINED | |
NOT_SUPPORTED | |
UNCONFIRMED | 未能確定結果,需要後台再進行查詢。 |
QUERY_FAILED | 未能根據session ID取得交易所需資料。交易未在支付APP上發起。 |
APP_NOT_INSTALLED | (適用於八達通) 相關支付App未安裝。 |