iOSでの利用

PAY.JP iOS SDK はPAY.JPをiOSアプリに導入するためのSDKです。

SDKの提供する「カード情報のトークン化」機能を利用することで、カード情報を事業者さまのサーバで扱うことなく支払い処理をおこなうことができます。

ここではアプリにSDKを組み込み、クレジットカード情報をトークン化する方法について説明します。

SDKをつかったApple Payの導入方法については次のチュートリアルをご覧ください。

Apple Pay

インストール

Carthage または、CocoaPods を使ってインストールします。

Carthage

github "payjp/payjp-ios"

CocoaPods

pod 'PAYJP'

パブリックキーを設定する

APIを利用するため、まず PAYJP.APIClientオブジェクトを作成します。 publicKey にはPAY.JPのパブリックキーを設定してください。

import PAYJP

let publicKey = "pk_test_0383a1b8f91e8a6e3ea0e2a9"
let payjpClient = PAYJP.APIClient(publicKey: publicKey)

カード情報からトークンを生成する

トークンを生成するには以下のカード情報が必要になります。

  • クレジットカード番号(例: 4242424242424242
  • CVC(例: 123
  • 有効期限(月)(例: 02
  • 有効期限(年)(例: 2020

PAYJP.APIClient#createToken を、上記のカード情報とcompletionHandler を引数に呼び出すと以下のように completionHandler にトークンの生成結果が渡されます。

payjpClient.createToken(
        with: "4242424242424242",
        cvc: "123",
        expirationMonth: "02",
        expirationYear: "2020") { result in
        switch result {
        case .success(let token):
            print("token_id is \(token.identifier)")
        case .failure(let error):
            print(error.localizedDescription)
        }
    }

生成済みのトークン情報を取得する

トークンIDを利用してすでに生成済みのトークンには、PAYJP.APIClient#getTokenを呼び出します。

payjpClient.getToken(with: tokenId) { result in
        switch result {
        case .success(let token):
            print("token_id is \(token.identifier)")
        case .failure(let error):
            print(error.localizedDescription)
        }
    }

トークン情報を利用する

生成したトークンは支払いを始め、各種処理に利用することができます。 トークンオブジェクト(PAYJP.Token)には例として下記のような情報が含まれます。

private extension Token {
    func print() {
        print("id=\(identifier)")
        print("card.id=\(card.identifier)")
        print("card.last4=\(card.last4Number)")
        print("card.exp=\(card.expirationMonth)/\(card.expirationYear)")
    }
    // id=tok_5ca06b51685e001723a2c3b4aeb4
    // card.id=car_e3ccd4e0959f45e7c75bacc4be90
    // card.last4=4242
    // card.exp=2/2020
}

詳細なトークンオブジェクト(PAYJP.Token)については APIリファレンスを御覧ください。

ソースコード・サンプルコード

SDKはgithubで公開されています。 SDKのソースコードのほか、Swift/Objective-Cのサンプルコードをご覧になれます。

payjp/payjp-ios: PAY.JP iOS SDK