決済方法
概要
モバイルSDK(iOS、Android™)をご利用する際に、各支払い方法の設定に関しては、本ページで記載します。
◯:個別設定が必要、△:共通の設定をすれば結構です、X:特別の設定がありません
iOS 開発設定
| Payment | URL Scheme | LSApplicationQueriesSchemes | Apple Pay Merchant ID |
|---|---|---|---|
| PayPay | △ | ◯ *1 | ー |
| LinePay | △ | ◯ *1 | ー |
| メルペイ | △ | X | ー |
| d払い | X | X | ー |
| au PAY | △ | ◯ *1 | ー |
| 楽天ペイ | △ | ◯ | ー |
| Paidy | X | X | ー |
| atone | X | X | ー |
| WeChat Pay | ◯ | ◯ | ー |
| Alipay | △ | ◯ | ー |
| Union Pay(銀聯雲閃付) | △ | ◯ | ◯ |
| PayPal | X | ◯ | ー |
| Apple Pay | X | X | ◯ |
| Credit Card | X | X | ー |
*1:SDK for iOS v3.2.1 から、各決済方法アプリの Scheme を LSApplicationQueriesSchemes に追加しなくても利用可能になります。実際に決済アプリがインストールされてない場合は、SDK から エラーコード 「10110」が返信します。
Android 開発設定
決済方法のプロバイダーについて
GoAllpay
GoAllpayをご利用する場合、プロジェクトの設定にGoAllpay SDKの情報追加が必要となります。
詳細の設定方法はGoAllpaySDKのドキュメント(中国語)、(英語)にご参考ください。
配置方法
プロジェクトのルートのbuild.gradleに以下の情報を追加してください。
repositories {
// ... 他のmaven repo
// GoAllpay SDK のmaven repo
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}アプリモジュールのbuild.gradleに以下の情報を追加してください。
dependencies {
// ... other dependencies
api("io.github.goallpay:allpaysdk:5.2.5")
}各決済方法の開発設定
| Payment | AndroidManifest.xml (Process Activity) | build.gradle (Library Dependency) |
|---|---|---|
| PayPay | ◯ | X |
| LinePay | ◯ | X |
| メルペイ | ◯ | X |
| d払い | X | X |
| au PAY | ◯ | X |
| 楽天ペイ | X | ◯ |
| Paidy | X | X |
| atone | X | X |
| WeChat Pay | ◯ | ◯ |
| Alipay | X | ◯ |
| Union Pay(銀聯雲閃付) | X | X |
| PayPal | X | X |
| Apple Pay | X | X |
| Credit Card | X | X |
Android SDK 1.8.0 以降、AndroidManifest.xmlファイルに指定するコールバックActivityは、下記のようにひとつにまとめることができます。また、1.7.1までの支払い方法ごとの設定方法はサポート停止になりますので、1.8.0以降のバージョンをご利用の際にElepayCallbackActivityをご使用ください。
専用の URL Scheme の取得方法は「iOS / Android SDK用URL Schemeの取得」へご参照ください。
<activity
android:name="jp.elestyle.androidapp.elepay.activity.ElepayCallbackActivity"
android:launchMode="singleTask"
android:exported="true">
<intent-filter>
<data android:scheme="ep1234567890abcdef" /> ←このschemeは「アプリ設定」ページより取得してください。
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>決済方法
LINE Pay
iOS
iOS 9 及び以降のシステムについて
ElepaySDK for iOS v3.2.1 から、下記 Scheme を LSApplicationQueriesSchemes に追加しなくても利用できます。実際に決済アプリがインストールされてない場合は、SDK から エラーコード 「10110」が返信します。
ElepaySDK for iOS v3.2.1 以前の場合、LINE アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>line</string>iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
Android
elepay Android SDK 1.8.0 以降、AndroidManifest.xmlファイルに指定するコールバックActivityは、ElepayCallbackActivityにまとめることが可能になります。1.7.1までの支払い方法ごとの設定方法はサポート停止になりますので、1.8.0以降のバージョンをご利用の際にElepayCallbackActivityをご使用ください。詳細は概要ページへご参照ください。
Line Pay を使うために、stera smart one アカウントの「アプリ設定」ページから「URL Scheme」をプロジェクトのAndroidManifest.xmlに追加する必要があります。
<activity
android:name="jp.elestyle.androidapp.elepay.activity.linepay.LinePayActivity"
android:exported="true">
<intent-filter>
<data android:scheme="ep8bd64f25c5545b99c43e295"
android:host="linepay"/> ←このschemeは「アプリ設定」ページより取得してください。
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>scheme より起動される Activity をカスタマイズする場合は、jp.elestyle.androidapp.elepay.activity.linepay.LinePayActivityから継承する必要があります。
PayPay
iOS
iOS 9 及び以降のシステムについて
ElepaySDK for iOS v3.2.1 から、下記 Scheme を LSApplicationQueriesSchemes に追加しなくても利用できます。実際に決済アプリがインストールされてない場合は、SDK から エラーコード 「10110」が返信します。
ElepaySDK for iOS v3.2.1 以前の場合、PayPay アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>paypay</string>iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
Android
elepay Android SDK 1.8.0 以降、AndroidManifest.xmlファイルに指定するコールバックActivityは、ElepayCallbackActivityにまとめることができます。1.7.1までの支払い方法ごとの設定方法はサポート停止になりますので、1.8.0以降のバージョンをご利用の際にElepayCallbackActivityをご使用ください。詳細は概要ページへご参照ください。
PayPay を使うために、stera smart one アカウントの「アプリ設定」ページから「URL Scheme」をプロジェクトのAndroidManifest.xmlに追加する必要があります。
<activity
android:name="jp.elestyle.androidapp.elepay.activity.paypay.PayPayActivity"
android:exported="true">
<intent-filter>
<data android:scheme="ep8bd64f25c5545b99c43e295"
android:host="paypay"/> ←このschemeは「アプリ設定」ページより取得してください。
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>scheme より起動される Activity をカスタマイズする場合は、jp.elestyle.androidapp.elepay.activity.paypay.PayPayActivityから継承する必要があります。
メルペイ
Android
Android SDK 1.8.0 以降、AndroidManifest.xmlファイルに指定するコールバックActivityは、ElepayCallbackActivityにまとめることが可能になります。1.7.1までの支払い方法ごとの設定方法はサポート停止になりますので、1.8.0以降のバージョンをご利用の際にElepayCallbackActivityをご使用ください。詳細は概要ページへご参照ください。
Merpay を使うために、stera smart one アカウントの「アプリ設定」ページから「URL Scheme」をプロジェクトのAndroidManifest.xmlに追加する必要があります。
<activity
android:name="jp.elestyle.androidapp.elepay.activity.merpay.MerpayActivity"
android:exported="true">
<intent-filter>
<data
android:host="merpay"
android:scheme="ep33e72b55aaa6cce18c0abd7" /> ←このschemeは「アプリ設定」ページより取得してください。
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>d払い
概要
個別の対応は必要ありません。
au PAY
iOS
iOS 9 及び以降のシステムについて
SDK for iOS v3.2.1 から、下記 Scheme を LSApplicationQueriesSchemes に追加しなくても利用できます。実際に決済アプリがインストールされてない場合は、SDK から エラーコード 「10110」が返信します。
SDK for iOS v3.2.1 以前の場合、au PAY アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>auwallet</string>iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
Android
特別な処理が必要ありません
楽天ペイ
iOS
RPay を使うには、SDK の他に RPay 独自の Framework(非公開)をプロジェクトのビルド依存関係に追加する必要があります。RPayKit.framework の入手方法やビルド依存関係の追加方法については、stera smart one サポートまでお問い合わせください。
iOS 9 及び以降のシステムについて
楽天ペイアプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>rakutenpaysdk</string>iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
Android
RPayを使うには、SDKの他にRakuten Pay独自のaarファイル(非公開)をプロジェクトのビルド依存関係に追加する必要があります。ビルド依存関係の追加方法については、Android Developerの公式サイトにご参考ください。
Rakuten Pay aarファイルのダウンロード先は、stera smart one サポートまでお問い合わせしてください。
Paidy
概要
個別の対応は必要ありません。
atone
概要
個別の対応は必要ありません。
Credit Card
概要
個別の対応は必要ありません。
Apple Pay
概要
Apple Pay の実装方法を紹介します。
仕組み
Apple Pay は Apple 製デバイスがお財布代わりになる簡単な決済方法です。
iOS での利用
Apple Pay の設定について
Apple Payの設定方法を参照してください。
-
Apple Merchant ID を登録します
Apple Pay をご利用するには、Apple Merchant IDを登録する必要があります。
-
Apple Pay 証明書の作成
Apple Payで利用する証明書を取得します。取得の過程で、秘密鍵/公開鍵ペアの生成 を要求されます。秘密鍵を紛失しないよう十分ご注意ください。鍵ペアは PKCS12形式 にまとめ、エクスポートパスワード を設定してください。PKCS12をstera smart one チームまで提出してください。
Google Pay
Android
SDK のセットアップ時に、googlePayEnvironmentを指定します。
Google Pay をご利用の際、Google 社への申請が必要となります。申請するには、TEST/PRODUCTION それぞれの環境でビルドしたアプリを提出する可能性があります。
Google Pay & Wallet Console で申請する際、Integration typeはGatewayを選択してください。
SDK を設定する際、googlePayExistingPaymentRequired(デフォルト値:true)を指定できます。これはユーザーの Google Pay に有効な支払いカードが存在するかどうかを検証するための設定です。
true:Google Pay に少なくとも 1 枚の支払い可能なカードが必要です。false:Google Pay の支払いカードを検証しません。カードがない場合は、支払いダイアログ内で追加できます。
val configuration = ElepayConfiguration(
apiKey = "" // test key or live key
googlePayEnvironment = GooglePayEnvironment.TEST // or GooglePayEnvironment.PRODUCTION
googlePayExistingPaymentRequired = false // default true
)
Elepay.setup(configuration)Google Pay は Google Play Service に依存するので、ご利用の際 Google Play Service の使用可否を検証する必要があります。SDK には、下記の Google Pay の使用可否に関するメソッドを提供しております。
// Googgle Payの利用は可能かどうかをチェックするメソッド。
fun checkIfGooglePayIsReadyToUse(
activity: Activity,
resultHandler: (Boolean) -> Unit
)Google Pay 開発
minSdkVersionが公式要件を満たしていること:https://developers.google.com/pay/api/android/guides/setup#app%20prerequisitesAndroidManifest.xmlの設定:
<application>
...
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />
</application>Google Pay PRODUCTION 検証
Google の要件に従い、PRODUCTION 環境の Google Pay は Google Play のリリース署名が必須です。次の手順に従ってください。
- Google Pay API の利用申請。 a. https://developers.google.com/pay/api/android/guides/test-and-deploy/publish-your-integration
- 必ず Google Play ストアからアプリをダウンロードしてテストします(リリース署名済み APK のローカルインストールは不可)。 a. https://developers.google.com/pay/api/android/guides/setup#app%20prerequisites b. リリース鍵で署名し Google Play ストアにアップロード後、テスターアカウントでダウンロードして Google Pay 機能を検証します。
GooglePayEnvironment.TESTではなくGooglePayEnvironment.PRODUCTIONを使用します。
TEST/PRODUCTION の違い
googlePayExistingPaymentRequired が true に設定されている場合:
- Test 環境:Google Wallet アプリへの依存が必須です。テスト時には、Google Wallet アプリをインストールし、クレジットカードを登録しておく必要があります。これがないと Google Pay の支払いダイアログが起動せず、
checkIfGooglePayIsReadyToUseがfalseを返します(強制的に支払いを行うと、エラーコード 10100 が返されます)。 - Production 環境:実際のユーザーは Google Wallet または Google アカウントに支払いカードを登録している必要があります。登録がない場合、
checkIfGooglePayIsReadyToUseがfalseを返します(強制的に支払いを行うと、エラーコード 10100 が返されます)。
googlePayExistingPaymentRequired が false に設定されている場合:
- Test 環境:Google Pay の支払いダイアログにはテストカード情報が自動的に入力されます。
- Production 環境:実際のユーザーが Google Pay に支払いカードを登録していない場合、支払いダイアログでカード追加を促す案内が表示されます。
Amazon Pay
概要
個別の対応は必要ありません。
PayPal
概要
iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
それ以外にも、あなたのアプリの Bundle ID から始まる PayPal 専用 URL Scheme を追加してください。
「stera smart one 管理画面」 > 開発設定 > アプリ設定にある URL Scheme > PayPal 項目を確認してください。
iOS 9 及び以降のシステムについて
PayPal アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>com.paypal.ppclient.touch.v1</string>
<string>com.paypal.ppclient.touch.v2</string>Alipay
iOS
iOS 9 及び以降のシステムについて
Alipay アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>alipay</string>iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
Android
アリペイを使うために、アリペイのsdkをダウンロードし、プロジェクトのlibsフォルダーに配置します。
アリペイのsdk名はこのような形になります。alipaySdk-15.6.8-20191021122455-noUtdid.aar
そして、アプリのbuild.gradleに、アリペイsdkの依存関係を追加します。
dependencies {
// ... other dependencies
implementation files('libs/alipaySdk-20170725.jar')
}WeChat Pay
事前準備
NativeアプリからWeChat Payを呼び出す場合の事前準備として、WeChat Open Platformのアカウント作成およびApp IDの発行が必要となります。
以下のWeChat Payドキュメントをご確認ください。 https://pay.weixin.qq.com/doc/global/v3/en/4012356387
また、stera smart oneのアクセスモード「1. Select Access Mode」については、「1.2 Institutional Mode」としてご認識ください。
iOS
iOS App の Callback URL Scheme について
決済モジュールデフォルト URL Scheme については、こちらをご参照ください。
それ以外にも、WeChat 専用の URL Scheme (wxから始まるもの)が必要です。
「stera smart one 管理画面」 > 開発設定 > アプリ設定にある URL Scheme > WeChat Pay 項目を確認してください。なお、WeChat Pay が未開通の場合、該当項目は表示しません。
iOS 9 及び以降のシステムについて
WeChat Pay アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>weixin</string>
<string>weixinULAPI</string>Android
WeChat Pay は、WeChatライブラリに依存するので、WeChat SDKのdenpendencyをbuild.gradleに追加します。
最新のwechatのバージョンはお勧めしますが、最新版のバージョンはwechat sdk mavenにご参照ください。
dependencies {
// ... other dependencies
implementation "com.tencent.mm.opensdk:wechat-sdk-android-without-mta:version"
}そして、プロジェクトAndroidManifest.xmlの中に、下記のようなactivity-aliasを追加する必要があります。
WeChat Payは、パッケージ名.wxapi.WXPayEntryActivityを探すため、SDKに既存のコードにリンクします。
<!-- ほかのactivity記述 -->
<activity name="...">
</activity>
<!-- wechat payを使うために、これが必要 -->
<activity-alias
android:name="パッケージ名.wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity="jp.elestyle.androidapp.elepay.activity.wxapi.WXPayEntryActivity" />Union Pay(銀聯雲閃付)
概要
iOS 9 及び以降のシステムについて
Union Pay 関連アプリに遷移するために、Xcode の PROJECT → TARGETS にある Infoタグ(或いは Info.plist)で、LSApplicationQueriesSchemes Key を追加してください。
<string>uppaysdk</string>
<string>uppaywallet</string>
<string>uppayx1</string>
<string>uppayx2</string>
<string>uppayx3</string>iOS App の Callback URL Scheme について
stera smart one デフォルト URL Scheme については、こちらをご参照ください。
決済ステーション(コンビニ支払い・銀行振込)
支払い方法(paymentMethod)
- コンビニ支払い:paymentMethod = konbini
- 銀行振込:paymentMethod = banktransfer
ユーザーはシステムによって指定の画面にリダイレクトされ、以降の支払い手続きを完了します。
支払いフローおよびステータス
コンビニ支払い・銀行振込はいずれも処理サイクルが長く、通常のオンライン決済と比較して以下のステータスが追加されます:
| Status | |
|---|---|
| waiting | ユーザーが支払いに必要な情報を入力すると、支払い情報が生成され、この状態になります。 |
| notified | ユーザーがコンビニ店舗で支払いを試みた段階でこの状態に遷移します。 通常は1週間以内に店舗側の集計処理が行われ、成功すれば captured に遷移します。 |
| amount_mismatch | 銀行側で受領した金額が想定と異なる場合、この状態になります。 |
支払い期限と制限事項
- コンビニ支払いの支払い待機期間:最大 60日間
- 銀行振込の支払い待機期間:最大 365日間
この間はユーザーの支払いをシステム側で待機し続け、revoke操作は非対応(Easy Checkoutは無効化できず、請求書はキャンセル不可)となります。
想定外の支払いへの対応方法
万一ユーザーが重複して支払った場合や、誤った金額を支払った場合、複数の口座から分割して振り込んだ場合など、想定外の支払いが発生することがあります。
これらのケースは決済サービス側で制御できないため、加盟店は決済ステーションにログインして支払い状況を確認し、ユーザーと直接連絡を取り合って補填や返金などを調整してください。
最終更新日