如何在Java中使用Bitpay

Pet*_*zov 12 java payment-gateway

我发现这篇关于BitPay的帖子,但我不知道如何使用它.

https://help.bitpay.com/development/how-do-i-use-the-bitpay-java-client-library

我实现了这段代码:

public void createInvoice() throws BitPayException
    {
        ECKey key = KeyUtils.createEcKey();
        BitPay bitpay = new BitPay(key);
        InvoiceBuyer buyer = new InvoiceBuyer();
        buyer.setName("Satoshi");
        buyer.setEmail("satoshi@bitpay.com");

        Invoice invoice = new Invoice(100.0, "USD");
        invoice.setBuyer(buyer);
        invoice.setFullNotifications(true);
        invoice.setNotificationEmail("satoshi@bitpay.com");
        invoice.setPosData("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890");

        Invoice createInvoice = bitpay.createInvoice(invoice);
    }
Run Code Online (Sandbox Code Playgroud)

我该如何实现私钥?

Ada*_*ard -2

我相信这个答案可以在以下文件中找到:https://github.com/bitpay/java-bitpay-client/blob/master/src/main/java/controller/BitPay.java - 也就是说,您可以在 BitPay 客户端实例上设置您的私钥。在那里您可以找到适合您需求的构造函数。您将需要根据您的具体需求使用以下一个或多个字段:

private ECKey _ecKey = null;
private String _identity = "";
private String _clientName = "";
private Hashtable<String, String> _tokenCache;
Run Code Online (Sandbox Code Playgroud)

编辑:您的私钥的加密和解密存在于此处: https: //github.com/bitpay/java-bitpay-client/blob/master/src/main/java/controller/KeyUtils.java

例如,如果您使用以下构造函数:

public BitPay(URI privateKey) throws BitPayException, URISyntaxException,        IOException {
    this(KeyUtils.loadEcKey(privateKey), BITPAY_PLUGIN_INFO, BITPAY_URL);
}
Run Code Online (Sandbox Code Playgroud)

您将传入您的私钥的 URI。

具体说明请参见:https ://github.com/bitpay/java-bitpay-client/blob/master/GUIDE.md

两个非常简单的例子:

BitPay bitpay = new BitPay();
ECKey key = KeyUtils.createEcKey();
this.bitpay = new BitPay(key);
Run Code Online (Sandbox Code Playgroud)

第二:

// Create the private key external to the SDK, store it in a file, and inject    the private key into the SDK.
String privateKey = KeyUtils.getKeyStringFromFile(privateKeyFile);
ECKey key = KeyUtils.createEcKeyFromHexString(privateKey);
this.bitpay = new BitPay(key);
Run Code Online (Sandbox Code Playgroud)

实现私钥后,您还需要初始化客户端并连接到服务器。