最近、いろいろなスマホ決済サービスがでてきていますね。実装側としては、パターンがありすぎると、各社の手続き方法(サービスのアカウント登録から実際のシステム化)に頭がグルグルします。
というわけで、ほんと決済系のシステム作りは苦手でございます。ほんとに逃げ出すぐらい苦手。(相方には食わず嫌いはイカンと怒られつつも)

しかし、案件としてくれば、パクッと食いついて実装へGOです、GO。

 

今回、とある案件で対応したのはタイトルにある通り”LINEPay”
https://pay.line.me/jp/developers/apis/apis?locale=ja_JP
Developer向けのページはすでにv3が前面にでていますが、実装したのはv2です。



実は、実装中に上記のページが「実はVersion3が最新版です!」と前面に出してきたため、「どこよ、どこ!?v2、API、リファレンス!!」と半泣きになった(LINEPay実装ビギナーなのにーー)という経験をさせてもらったDeveloperページ。公式サイトのリニューアル、ほんと怖いですね。1日前に見ていたのに、、、リニューアルアナウンスどっかにあったのかしらん?
今は、v2は
https://pay.line.me/documents/online_v2_en.html
で内容確認できます。enですが。ちなみにjaに変えても日本語ページはございませんでした。

 

とにもかくにも、APIリファレンスを実装中に見失うという、落涙体験をしつつ作業を継続していたわけですが、
もともとリファレンスをずーっと見て、フルスクラッチですべて作っておりませんでした。
実装時間がちょっと不足していたのと、リファレンス上にあるコードが「CLIで試し接続ですよね?」的なものが多く、
プログラムにちまっとコピペして、ごにょごにょ作るぜ!というプロセスに、個人的に入りにくかったという背景がありました。

そこで、元気よくググるわけです。有名になってきた決済方法ですので、皆様の体験談を参考に!、です。
検索キーワードの詳細は割愛しますが、いつもお世話なっているQiitaにて、Advocateの方が書かれた記事が、APIの流れもわかりやすかったのでベースの考え方にさせてもらい、
実装を開始しました。というのも、他の実装体験記事も引っかかるのですが、どうもこのページが起点になっているような。自分がgetしたページ、「チョコレートは1円」がほぼ100%でしたので。
(蛇足:実装ルールの確認の時は、ちょっぴりさみしかったので、カカオチョコレート100%は1円にしてみました)

 

公式ではないライブラリを使うのは・・・といわれつつ、決済までいったよ~(Sandboxが多いけど)のコメントに頼りたかった状況だったので、
えいやーとインスコして使ったのですが。自分がParameterを一つ、内容を読み間違えていて接続しないのなんの。それもローカルでは行くのにーという負のスパイラルを久々に体験して
「し、しばらく、ぷろぐらむ、かきたくない・・・」と零すほど。最近、この手のスパイラルはなかったのです。理由は簡単、参考体験談のパターンがいくつもあったから。それらを時系列などと組み合わせてみると自分の思い込み間違いや、Libraryのバージョン違いによるParameter変更が分かってくることが多かったからです。
なぜか今回は1円系ばかりに自力ヒットして、体験談の差分がつかめなかったんですね。有名サービスなのに珍しい状況(さくっとページがあがってこない)と私の焦ったあぽーな頭が組み合わさって負のスパイラルを元気よく回してしまいました。

そんなこんなを経由して、今のところリリースできたLINEPayの決済。
自分が実装したところで、心に残った部分をいくつか、投稿したいと思います。
特にDB関連周りをば。自分が見たページはcacheに入れて・出してで簡易実装で表現されている部分(自分ところのシステムに合わせて考えてね!部分)で、
細かいところで「やっぱり実際案件だとそれじゃ終わらないよねー(終わってくれたらよかったのに!)」とLINEPay実装ビギナーがヘタレていた部分です。