diff --git a/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentProtocol.java b/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentProtocol.java index 667521c7..3cf4638e 100644 --- a/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentProtocol.java +++ b/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentProtocol.java @@ -51,6 +51,11 @@ import com.google.protobuf.InvalidProtocolBufferException; public class PaymentProtocol { + // MIME types as defined in BIP71. + public static final String MIMETYPE_PAYMENTREQUEST = "application/bitcoin-paymentrequest"; + public static final String MIMETYPE_PAYMENT = "application/bitcoin-payment"; + public static final String MIMETYPE_PAYMENTACK = "application/bitcoin-paymentack"; + /** * Sign the provided payment request. * diff --git a/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentSession.java b/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentSession.java index 7270ef48..678e9f15 100644 --- a/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentSession.java +++ b/core/src/main/java/com/google/bitcoin/protocols/payments/PaymentSession.java @@ -176,7 +176,7 @@ public class PaymentSession { @Override public PaymentSession call() throws Exception { HttpURLConnection connection = (HttpURLConnection)uri.toURL().openConnection(); - connection.setRequestProperty("Accept", "application/bitcoin-paymentrequest"); + connection.setRequestProperty("Accept", PaymentProtocol.MIMETYPE_PAYMENTREQUEST); connection.setUseCaches(false); Protos.PaymentRequest paymentRequest = Protos.PaymentRequest.parseFrom(connection.getInputStream()); return new PaymentSession(paymentRequest, verifyPki, trustStoreLoader); @@ -359,8 +359,8 @@ public class PaymentSession { public Ack call() throws Exception { HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); - connection.setRequestProperty("Content-Type", "application/bitcoin-payment"); - connection.setRequestProperty("Accept", "application/bitcoin-paymentack"); + connection.setRequestProperty("Content-Type", PaymentProtocol.MIMETYPE_PAYMENT); + connection.setRequestProperty("Accept", PaymentProtocol.MIMETYPE_PAYMENTACK); connection.setRequestProperty("Content-Length", Integer.toString(payment.getSerializedSize())); connection.setUseCaches(false); connection.setDoInput(true);