@@ 58-78 (lines=21) @@ | ||
55 | return response.json()['data'][0]['pairingCode'] |
|
56 | self.response_error(response) |
|
57 | ||
58 | def create_invoice(self, params): |
|
59 | """ |
|
60 | POST /invoices |
|
61 | https://bitpay.com/api#resource-Invoices |
|
62 | """ |
|
63 | self.verify_invoice_params(params['price'], params['currency']) |
|
64 | payload = json.dumps(params) |
|
65 | uri = self.uri + "/invoices" |
|
66 | xidentity = key_utils.get_compressed_public_key_from_pem(self.pem) |
|
67 | xsignature = key_utils.sign(uri + payload, self.pem) |
|
68 | headers = {"content-type": "application/json", |
|
69 | "accept": "application/json", "X-Identity": xidentity, |
|
70 | "X-Signature": xsignature, "X-accept-version": "2.0.0"} |
|
71 | try: |
|
72 | response = requests.post(uri, data=payload, headers=headers, |
|
73 | verify=self.verify) |
|
74 | except Exception as pro: |
|
75 | raise BitPayConnectionError(pro.args) |
|
76 | if response.ok: |
|
77 | return response.json()['data'] |
|
78 | self.response_error(response) |
|
79 | ||
80 | def get_invoice(self, invoice_id): |
|
81 | """ |
|
@@ 40-56 (lines=17) @@ | ||
37 | return self.tokens |
|
38 | self.response_error(response) |
|
39 | ||
40 | def create_token(self, facade): |
|
41 | """ |
|
42 | POST /tokens |
|
43 | https://bitpay.com/api#resource-Tokens |
|
44 | """ |
|
45 | payload = {'id': self.client_id, 'facade': facade} |
|
46 | headers = {"content-type": "application/json", |
|
47 | "accept": "application/json", "X-accept-version": "2.0.0"} |
|
48 | try: |
|
49 | response = requests.post(self.uri + "/tokens", verify=self.verify, |
|
50 | data=json.dumps(payload), headers=headers) |
|
51 | except Exception: |
|
52 | raise BitPayConnectionError('Connection refused') |
|
53 | if response.ok: |
|
54 | self.tokens = self.token_from_response(response.json()) |
|
55 | return response.json()['data'][0]['pairingCode'] |
|
56 | self.response_error(response) |
|
57 | ||
58 | def create_invoice(self, params): |
|
59 | """ |