区块链信息钱包支票付款

时间:2017-12-15 17:48:42

标签: python api request blockchain blockchain.info-api

我正在尝试创建付款单并通过电报机器人发送给我的客户: 我正在使用区块链API V2 - https://blockchain.info/api/api接收.my代码是:

xpub='***'
keyk='02e57f1***'
url='https://api.blockchain.info/v2/receive?xpub='+str(xpub)+'&callback=https%3A%2F%2Fdoors03.ru&key='+keyk
x=requests.get(url)
r=x.json()
r=r['address']

r - 是一个地址。 我发送给我的客户(顺便说一下,有没有办法发送地址与确切的工资额)。我想检查后收到付款:

data={ "Content-Type": "text/plain","key":keyk,"addr":r,"callback":"https%3A%2F%2Fdoors03.ru","onNotification":"KEEP", "op":"RECEIVE"}
r = requests.post(url, data=data)

这是回复 - 你' {\ n"消息" :"内部处理程序错误" \ n}' 我做错了什么?如何查看付款?如何使用btc或ethereum的精确总和发送地址?

1 个答案:

答案 0 :(得分:1)

  

抱歉,我没有足够的声誉发表评论,所以这是   我唯一的选择。 @egorkh你解决了这个问题吗?也许   你收到了blockchain.info支持的解释吗?我有   向他们发了一个问题,但他们回答的时间太长了。

更新:最后,我找到了解决方案。

在我的情况下," 内部处理程序错误的原因"消息对其API的解释错误。

由于他们还没有在他们的java-api中实现 balance_update 请求,我自己做了,我做错了。

我已经把这个参数:

  

{"键":keyk,"地址":R"回调":" HTTPS%3A%2F%2Fdoors03.ru&#34 ;," onNotification":" KEEP"," op":" RECEIVE"}

作为post参数,就像他们在api中提供的其他方法一样。在这些方法中,参数是URLEncoded,就像使用回调链接一样。但...

在这个HTML请求中,它们必须以json格式作为纯文本发送,不需要任何特殊编码,例如:

Map<String, String> params = new HashMap<String, String>();
    params.put("addr", address);
    params.put("callback", callbackUrl);
    params.put("key", apiCode);
    params.put("onNotification", keepOnNotification? "KEEP" : "DELETE");
    params.put("confs", Integer.toString(confirmationCount));
    params.put("op", StringUtils.isBlank(operationType) ? "ALL" : operationType);

//parse parameters map to json string(that's optional: you can write it  directly as string)
String body = new Gson().toJson(params);

if (requestMethod.equals("POST")) {
    byte[] postBytes = body.getBytes("UTF-8");
    conn.setDoOutput(true);
    conn.setRequestProperty("Content-Type", "text/plain");
    conn.setRequestProperty("Content-Length", String.valueOf(postBytes.length));
    conn.getOutputStream().write(postBytes);
    conn.getOutputStream().close();
}

您的错误的主要原因可能是您放置了&#34; Content-Type&#34;:&#34; text / plain&#34;在数据对象(,也可能是编码的回调网址)

相关问题