我的coinbase付款按钮不会显示。我从coinbase收到此错误消息:
拒绝在相框中显示“https://coinbase.com/transactions”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”
他们的客户服务很糟糕,我已经等了两天才能解决这个问题。
我试过htaccess
Header set Access-Control-Allow-Origin "%{HTTP_ORIGIN}e" env=HTTP_ORIGIN
<ifModule mod_headers.c>
Header always set Access-Control-Allow-Origin: "*"
Header always set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "X- Requested-With"
</ifModule>
这都不起作用......
我该如何解决这个问题?
iframe就是他们按钮的工作方式。如果我使用他们的演示按钮,它工作正常。当我将演示按钮上的数据代码更改为我的数据代码时,它会抛出该错误。
答案 0 :(得分:2)
Coinbase不允许您将交易页面作为iframe。如果您登录自己的帐户并转到此处(https://coinbase.com/merchant_tools),则可以创建一个允许您接受按钮的付款按钮。
答案 1 :(得分:1)
我在这里发布此内容是因为
我正在使用此React组件:https://github.com/coinbase/react-coinbase-commerce
我的费用看起来像:
const myNewChargeObj = {
addresses:
{ bitcoincash: 'qpkwp5s5tr3thjxlejq4qfvkclavx7ur2cce4la6m6',
bitcoin: '16FZj5WK6Dj7i4mgnaryLnGfy5XRr56fug',
ethereum: '0xeb7638d57fadb724e97fd4f4b80ed0fb24b8e9d0',
litecoin: 'Lh8AtZD8Zzy32gZvZAGyBtnBvFCbQ12hf8' },
code: '9D8FQUP7',
created_at: '2019-01-10T08:18:53Z',
description: 'test-desc',
expires_at: '2019-01-10T09:18:53Z',
hosted_url: 'https://commerce.coinbase.com/charges/9C7ETZP6',
id: '27e32b69-563a-40f1-b1c8-ad947dab190c',
metadata: {},
name: 'test-purchas-name',
payments: [],
pricing:
{ local: { amount: '1337.00', currency: 'USD' },
ethereum: { amount: '9.820773000', currency: 'ETH' },
bitcoin: { amount: '0.35138115', currency: 'BTC' },
bitcoincash: { amount: '9.38838565', currency: 'BCH' },
litecoin: { amount: '37.66727708', currency: 'LTC' } },
pricing_type: 'fixed_price',
resource: 'charge',
timeline: [ { status: 'NEW', time: '2019-01-10T08:18:53Z' } ]
}
阅读文档使我感到应该实例化我的React组件:
...
<CoinbaseCommerceButton checkoutId={'27e32b69-563a-40f1-b1c8-ad947dab190c'}/>
...
这导致客户端遇到OP提到的错误:
Refused to display 'https://commerce.coinbase.com/embed/charges/27e32b69-563a-40f1-b1c8-ad947dab190c?origin=http%3A%2F%2Flocalhost%3A8080&version=1.3.1&buttonId=9dc5056f-6980-4e66-bd7a-920e9aa3c469&cacheDisabled=undefined' in a frame because it set 'X-Frame-Options' to 'deny'
结果是,我需要实例化该组件,例如:
...
<CoinbaseCommerceButton checkoutId={'9D8FQUP7'}/>
...
然后它起作用了!
快乐黑客。