モバイルコマースが急成長し、デジタル決済が普及している現在、決済ゲートウェイをEコマースアプリケーションに統合することは特に重要です。現在、ユーザーがアプリ内で取引を行い、商品やサービスを購入するためには、多くのアプリに決済ゲートウェイ機能が必要です。多くのアプリがペイメントゲートウェイを使用していますが、Androidアプリに統合することは困難です。このプロセスを簡素化するために、PayUはアプリに支払いオプションを迅速に統合し、すべての支払い方法を処理できるサービスを提供しています。この記事では、Androidアプリにペイメントゲートウェイを統合する方法を探ります。www.deekpay.com
PayUについて
PayUはインドで最も人気のある決済ゲートウェイの1つであり、中小企業から大企業まで幅広く利用されている。PayU Indiaは、大企業だけでなく中小企業/SMEにも決済ゲートウェイサービスを提供している。PayUのAndroid SDKは比較的使いやすく、この記事の後の部分で詳しく説明する。
アンドロイドとの統合
以下のブログコンテンツを読み進める前に、以下のインストールと設定が完了していることを確認してください:
- Java Development Kit バージョン1.6以上
- アンドロイドSDK
- Gitクライアント
- Eclipse / Android Studio
- PayU ペイメントゲートウェイの前提条件(キー、ソルト)
PayUのSDKは、以下の2種類のソリューションを作成するために使用することができます:
1.シームレスでない統合:独自のUIを設計したくない場合は、このモジュールを使用することができます。
2.シームレスな統合:この場合、クレジットカード番号やCVVなどの財務データを取得するための独自のユーザーインターフェースを作成する必要があります。
SDK組み込みUIを使用したシームレスな統合
必要なパラメータをすべて取得する
PaymentParamsオブジェクトを作成し、そのデフォルトのセットアップメソッドを使用して、受け取ったすべてのパラメータをそのオブジェクトに入れ、paymentHashのハッシュ値を設定する。
"`java
PaymentParams mPaymentParams = new PaymentParams();
mPaymentParams.setKey("gtKFFx");
mPaymentParams.setAmount("15.0");
mPaymentParams.setProductInfo("Tシャツ");
mPaymentParams.setFirstName("Guru");
mPaymentParams.setEmail("[email protected]");
mPaymentParams.setTxnId("0123479543689");
mPaymentParams.setSurl("https://payu.herokuapp.com/success");
mPaymentParams.setFurl("https://payu.herokuapp.com/failure");
mPaymentParams.setUdf1("udf1l");
mPaymentParams.setUdf2("udf2");
mPaymentParams.setUdf3("udf3");
mPaymentParams.setUdf4("udf4");
mPaymentParams.setUdf5("udf5");
mPaymentParams.setHash("あなたの支払いハッシュ");
“`
udf1-5を使用しない場合は設定する必要はありません。Eメールと名前は、使用しない場合は空白のままでも構いません。
ショップユーザーカード機能を使用するには、ユーザー認証情報を提供する必要があります:
"`java
mPaymentParams.setUserCredentials("your key:user id");
“`
オファーの場合は
"`java
mPaymentParams.setOfferKey("your_offer_key");
“`
その他の支払いデフォルト・パラメーター(電話など)については、以下を使用する:
"`java
mPaymentParams.setPhone("あなたの番号");
“`
独自のサーバーを使用して正しいハッシュ値を取得します。PayuHashesオブジェクトを作成し、指定されたデフォルト設定方法を使用して関連するハッシュ値を設定します。
"`java
mPaymentParams.setHash(payuHashes.getPaymentHash());
“`
PayUBaseActivity をターゲットとする新しい Intent を作成し、以下の手順を実行します。
"`java
intent.putExtra(PayuConstants.ENV、PayuConstants.PRODUCTION_ENV);
intent.putExtra(PayuConstants.PAYMENT_DEFAULT_PARAMS, mPaymentParams);
intent.putExtra(PayuConstants.PAYU_HASHES, payuHashes);
“`
ワンクリック決済を可能にする:
"`java
// ハッシュを保存するオプションとして、MOBILEでのワンクリック決済を有効にする。
intent.putExtra(PayuConstants.STORE_ONE_CLICK_HASH, PayuConstants.STORE_ONE_CLICK_HASH_MOBILE);
“`
あるいは
"`java
// ハッシュを保存するオプションとして、MERCHANT SERVERを使用したワンクリック決済を有効にする。
intent.putExtra(PayuConstants.STORE_ONE_CLICK_HASH, PayuConstants.STORE_ONE_CLICK_HASH_SERVER);
“`
あるいは
"`java
// ワンクリック決済を無効にする
intent.putExtra(PayuConstants.STORE_ONE_CLICK_HASH, PayuConstants.STORE_ONE_CLICK_HASH_NONE);
“`
キャンペーンを開始し、あとはPayU SDKにお任せください。
"`java
startActivity(intent);
“`
独自のUIによるシームレスな統合
ここでは、シームレスな統合の例として、クレジットカードとインターネットバンキングの取引のみを考える。この方法は、ワンクリックペイメントカード、ショップカード、キャッシュカード、PayUペイメントを接続するために使用することができます。
シームレスなクレジット/デビットカード決済の統合
PaymentParamsオブジェクトを作成し、シームレスでないスタイルと同様に、デフォルトの設定メソッドを使用してすべての受信パラメータを入力し、ハッシュをpaymentHashに設定します。
"`java
mPaymentParams.setCardNumber(カード番号);
mPaymentParams.setCardName(cardName);
mPaymentParams.setNameOnCard(cardName);
mPaymentParams.setExpiryMonth(expiryMonth); // MM
mPaymentParams.setExpiryYear(expiryYear); // YYYYY
mPaymentParams.setCvv(cvv);
“`
ワンクリック決済を可能にする:
"`java
// ワンクリック・ペイメント・ハッシュを保存、パス1
mPaymentParams.setEnableOneClickPayment(1);
“`
あるいは
"`java
// さもなければ0を渡すか、メソッドをまったく呼び出さない
mPaymentParams.setEnableOneClickPayment(0);
“`
上記の PostData 型の PostData を使用して、PaymentPostParams オブジェクトを作成します。環境(テストまたは本番)を設定し、Intent を作成してから、PaymentsActivity アクティビティを開始します。
"`java
PostData postData = new PaymentPostParams(mPaymentParams, PayuConstants.CC).getPaymentPostParams();
if (postData.getCode() == PayuErrors.NO_ERROR) {.
// ウェブビューを開始する
PayuConfig payuConfig = new PayuConfig();
payuConfig.setEnvironment(PayuConstants.PRODUCTION_ENV);
payuConfig.setData(postData.getResult());
Intent intent = new Intent(this, PaymentsActivity.class);
intent.putExtra(PayuConstants.PAYU_CONFIG, payuConfig);
startActivityForResult(intent、PayuConstants.PAYU_REQUEST_CODE);
} else {
// エラーが発生しました
Toast.makeText(this, postData.getResult(), Toast.LENGTH_LONG).show();
}
“`
シームレスなインターネットバンキングの統合
PaymentParamsオブジェクトを作成し、シームレスでないスタイルと同様にデフォルトの設定メソッドを使用してすべての受信パラメータを入力し、HashをpaymentHashに設定します。ビューアダプタを使用します。
"`java
mPaymentParams.setBankCode(bankCode);
“`
PostData型のPaymentPostParamsオブジェクトを作成して、PaymentsActivityを開始します。
"`java
PostData postData = new PaymentPostParams(mPaymentParams, PayuConstants.NB).getPaymentPostParams();
if (postData.getCode() == PayuErrors.NO_ERROR){。
// ウェブビューを開始する
PayuConfig payuConfig = new PayuConfig();
payuConfig.setEnvironment(PayuConstants.PRODUCTION_ENV);
payuConfig.setData(postData.getResult());
Intent intent = new Intent(this, PaymentsActivity.class);
intent.putExtra(PayuConstants.PAYU_CONFIG, payuConfig);
startActivityForResult(intent、PayuConstants.PAYU_REQUEST_CODE);
} else {
// エラーが発生しました
Toast.makeText(this, postData.getResult(), Toast.LENGTH_LONG).show();
}
“`
PayUは、統合プロセスを開始するために、テスト加盟店口座とテストクレジットカードの詳細を含むテスト設定を提供しますので、お客様は取引プロセス全体を理解することができます。その後、SDKコードをお客様のアプリケーションに統合する必要があります。テストが完了したら、アプリケーションをPayUの本番サーバーに接続して実際の取引を行う準備が整います。
受験票
さらにロギングを有効にするには、テスト・キーとソルト(テスト・サーバー用)の使用を開始する。以下のテスト用アカウントを使用する(テスト目的のみ):
- キー: ktKFFx
- 塩: bDwWELix
テストカード情報:
- カード名義人氏名:シェファリ・シン
- カード番号:2355 6756 9902 6654
- CVV: 098
- 有効期限:11/2023
輸出
テスト用の認証情報を使用しているため、支払いができません。お支払いを有効にするには、PayUダッシュボードでアプリを有効化し、新しいキーを生成する必要があります。
以上、PayU Androidアプリ統合の入門編でした。頑張ってください!