createTransaction 的 coinpayments api 路由

Posted

技术标签:

【中文标题】createTransaction 的 coinpayments api 路由【英文标题】:coinpayments api route for createTransaction 【发布时间】:2018-07-25 04:02:22 【问题描述】:

您好,我正在使用 coinpayment api 在我的网站中接受加密货币,但不知道如何添加获取路由,我可以链接到一个按钮,客户点击该按钮将重定向到地址和金额所在的页面显示给他们。我是使用这个 api 的新手。但我真的需要它。任何存档方式

var express = require("express"),
    app    = express(),
    bodyparser = require("body-parser"),
    coinpayments = require("coinpayments"),

    app.use(bodyParser.urlencoded(extended: true));

var client = new Coinpayments(
    key: "My API PUBLIC KEY",
    secret: "MY API SECRET KEY"
);

app.get('the url for the transaction page', function(req,res)
       res.render(the url)

       *then the createTransaction function is called*

       client.createTransaction('currency1' : 'DOGE', 'currency2' : 'POT', 'amount' : 10,function(err,result)
   console.log(result);
 )
)

一切正常,但我不知道如何将其集成到获取链接中,以便当客户点击它时,它将重定向到交易页面

 amount: '0.41899981',
  txn_id: 'CPCB7BFRNZ6XCMR1FJDUUKCDNP',
  address: 'PUXds8akQMe9xMYtEftcMnirhZpUNyK6ER',
  confirms_needed: '5',
  timeout: 3600,
  status_url: 'https://www.coinpayments.net/index.php?cmd=status&id=CPCB7BFRNZ6XCMR1FJDUUKCDNP&key=828dba80bdc1a7a6fb78443f32e3e094',
  qrcode_url: 'https://www.coinpayments.net/qrgen.php?id=CPCB7BFRNZ6XCMR1FJDUUKCDNP&key=828dba80bdc1a7a6fb78443f32e3e094' 

status_url 是交易 url,这是我希望用户被重定向到的链接

【问题讨论】:

Nodejs - Redirect url的可能重复 不,这不是重复的,我不要求如何在节点 js 中重定向,我的问题是如何传递状态 url @rlemon “status_url 是交易 url,这是我希望用户被重定向到的链接”和“一切正常,但我不知道将它集成到获取链接中,所以当客户点击它时,它会将它们重定向到交易页面”表示您要重定向。如果这不是真的,那么您的问题毫无意义。 【参考方案1】:

您可以获取 json 格式的 API 响应并将其发送到控制器,您将从响应中找到 status_url 并重定向到 status_url 页面。

window.location.href = response.status_url;

【讨论】:

【参考方案2】:
this is complete code for API IN PHP CURL
$private_key = "SECRET";
$data['version']   = 1;
$data['cmd']       = 'create_transaction';
$data['amount']    = 100.00;
$data['currency1'] = 'USD';
$data['currency2'] = 'BTC';
$data['key']       ='public key';
$data['buyer_email']    = 'mail';
$data['format']         = 'json';
$data['success_url']    = 'url';
$data['cancel_url']     = 'url';
$post_data = http_build_query($data, '', '&');\
$hmac = hash_hmac('sha512', $post_data, $private_key);
static $ch = NULL;
if ($ch === NULL) 
  $ch = curl_init('https://www.coinpayments.net/api.php');
  curl_setopt($ch, CURLOPT_FAILONERROR, TRUE);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HMAC: '.$hmac));
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$data = curl_exec($ch);            
if ($data !== FALSE) 
    return response()->json([
        'status'    => true,
        'message'   => 'Transection Created Suceesfully!',
        'data'      =>   $data
    ]);
 else 
   return array('error' => 'cURL error: '.curl_error($ch));

【讨论】:

嗨!请考虑添加详细信息,以便我们了解为什么它是正确答案。 亲爱的,您可以使用此代码并更改您的 API 密钥 但是你能解释一下为什么你的答案最有效吗?仅仅提供代码可能会让提问者(或其他需要解决方案的人)仍然困惑它是如何工作的。

以上是关于createTransaction 的 coinpayments api 路由的主要内容,如果未能解决你的问题,请参考以下文章

ServiceStack.Redis常用操作 - 事务并发锁_转

交易是如何被创建和打包的7

【ETH钱包开发04】web3j转账ERC-20 Token

关于光的反射和折射的例子?

既是3的倍数又是5的倍数都有哪些

一个三位数既是3的倍数,又是5的倍数。这样的三位数最小是啥