質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

432閲覧

Stripe API がうまく取得できない

kwtkwt

総合スコア21

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/06/24 06:59

編集2022/06/24 07:13

前提

Vue.js、Stripe を使用して支払いシステムを開発しています。

開発中にエラーが発生しました。

実現したいこと

Stripe API を取得したい

発生している問題・エラーメッセージ

Stripe: Unknown arguments ([object Object]). Did you mean to pass an options object? See https://github.com/stripe/stripe-node/wiki/Passing-Options. (on API request to GET `/charges/{charge}`)

該当のソースコード

vueファイルのスクリプト部分です。

js

1<script> 2import { StripeCheckout } from '@vue-stripe/vue-stripe' 3// import Stripe from 'stripe' 4 5export default { 6 props: ['documentId', 'isLoggedIn'], 7 components: { 8 StripeCheckout 9 }, 10 data () { 11 this.publishableKey = 'pk_test_xxxxxxxxxxxxxxxxx' 12 return { 13 loading: false, 14 lineItems: [ 15 { 16 price: 'price_xxxxxxxx', // The id of the one-time price you created in your Stripe dashboard 17 quantity: 1 18 } 19 ], 20 successURL: `${location.protocol}//${location.host}/event-detail/${this.documentId}?${this.isLoggedIn}`, 21 cancelURL: 'https://www.google.com/?hl=ja' 22 } 23 }, 24 methods: { 25 submit () { 26 // You will be redirected to Stripe's secure checkout page 27 this.$refs.checkoutRef.redirectToCheckout() 28 } 29 }, 30 computed: { 31 currentUser () { 32 return this.$store.getters.cuurentUser 33 } 34 }, 35 created () { 36 const Stripe = require('stripe') 37 const stripe = Stripe('sk_test_xxxxxxxxxxxx') 38 39 var charge = stripe.charges.retrieve( 40 'ch_xxxxxxxx', 41 { 42 apiKey: 'sk_test_xxxxxxxxxxxx' 43 } 44 ) 45 charge.then((result) => { 46 console.log(result) 47 }).catch((error) => { 48 ////////////////////// ここでエラー 49 console.log(error.message) 50 }) 51 } 52} 53</script> 54

回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ドキュメントを見ると

const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const charge = await stripe.charges.retrieve( 'ch_3LE7uI2eZvKYlo2C0dmZLshs' );

ってあるから、真似して書いたらだめなんでしょうか。
const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');で既にapiKeyを与えてあるから、
stripe.charges.retrieve()の時点で改めて与える必要はなさそうに読めましたが。

投稿2022/06/24 08:36

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kwtkwt

2022/06/24 08:44 編集

回答ありがとうございます! 下記のようにしてみましたが、undefinde が返ってきてやはりだめです。。 ```js const stripe = require('stripe')('sk_test_51Ko2ckHIT4Uh5KIjMl6QaZbOosPxcRIhRkSLi79cabV4b8HlMaHcpuQS99qSXrgCoh6hpfhpQCv7OxnusSzYPxDK00yPi6pB15') const charge = stripe.charges.retrieve( 'ch_3KpoVtHIT4Uh5KIj0Z8gfMhT' ) console.log(charge) ``` ```log Promise {<pending>}[[Prototype]]: Promisecatch: ƒ catch()constructor: ƒ Promise()finally: ƒ finally()then: ƒ then()Symbol(Symbol.toStringTag): "Promise"[[Prototype]]: Object[[PromiseState]]: "pending"[[PromiseResult]]: undefined ```
退会済みユーザー

退会済みユーザー

2022/06/24 08:48

await わすれてるゾ
kwtkwt

2022/06/24 08:53

await を入れると下記のようになってしまいます。。 Syntax Error: await is a reserved word (67:19) こちらの原因は分かりますでしょうか?
退会済みユーザー

退会済みユーザー

2022/06/24 09:18 編集

Vue.jsっていう関係だと、こちらのドキュメントでわかるでしょうか。 Vue.jsでのasync,awaitの書き方 - Qiita https://qiita.com/NT1123/items/d1051d360e1b1f9174ab たぶん、 async created () { にするんじゃないかな。
kwtkwt

2022/06/24 09:28 編集

ありがとうございます! Syntax Error: await is a reserved word (67:19) は消えましたがだめでした... ログの結果は console.log('⭐️') のみで以降は動作しません... ```html <button @click="stripe()">Stripe</button> ``` ```js stripe: async function () { console.log('⭐️') const stripe = require('stripe')('sk_test_51Ko2ckHIT4Uh5KIjMl6QaZbOosPxcRIhRkSLi79cabV4b8HlMaHcpuQS99qSXrgCoh6hpfhpQCv7OxnusSzYPxDK00yPi6pB15') const prices = await stripe.prices.list() console.log('⭐️⭐️') console.log(prices) prices.then((result) => { console.log('⭐️⭐️⭐️') console.log(result) }).catch((error) => { console.log(error) }) } ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問