Skip to content

Commit

Permalink
Merge pull request #7 from realexpayments-developers/master
Browse files Browse the repository at this point in the history
Realex Payments Remote Java SDK - v1.1
  • Loading branch information
RealexITSO committed Feb 5, 2016
2 parents e75ec89 + 02bfe25 commit 816bdc1
Show file tree
Hide file tree
Showing 23 changed files with 1,568 additions and 490 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Change Log
All notable changes to the SDK will be documented in this file.

## [1.1]
- Added mobile payment type (auth-mobile) and relevant fields (mobile, token) to payment request.
- Added settle, void, rebate, OTB, credit, hold and release payment types.

## [1.0.1]
- Fixed CVN issue where leading 0s were being removed.

## [1.0]
- Initial release.
198 changes: 181 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,200 @@ Add this dependency to your project's POM:
<dependency>
<groupId>com.realexpayments.remote.sdk</groupId>
<artifactId>rxp-remote-java</artifactId>
<version>1.0.1</version>
<version>1.1</version>
</dependency>
```

### Gradle users
Add this dependency to your project's build file:
```
compile "com.realexpayments.remote.sdk:rxp-remote-java:1.0.1"
compile "com.realexpayments.remote.sdk:rxp-remote-java:1.1"
```
##Usage
## Usage

Please see https://developer.realexpayments.com for more comprehensive integration guides.

### Authorisation

```java
Card card = new Card()
.addExpiryDate("0119")
.addNumber("4242424242424242")
.addType(CardType.VISA)
.addCardHolderName("Joe Smith")
.addCvn("123")
.addCvnPresenceIndicator(PresenceIndicator.CVN_PRESENT);

PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.AUTH)
.addAmount(100)
.addCurrency("EUR")
.addCard(card)
.addAutoSettle(new AutoSettle().addFlag(AutoSettleFlag.TRUE));

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### Authorisation (With Address Verification)

```java
Card card = new Card()
.addExpiryDate("0119")
.addNumber("420000000000000000")
.addType(CardType.VISA)
.addCardHolderName("Joe Smith")
.addCvn("123")
.addCvnPresenceIndicator(PresenceIndicator.CVN_PRESENT);

PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.AUTH)
.addAmount(100)
.addCurrency("EUR")
.addCard(card)
.addAutoSettle(new AutoSettle().addFlag(AutoSettleFlag.TRUE))
.addAddressVerificationServiceDetails("382 The Road", "WB1 A42");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### Authorisation (Mobile)

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.AUTH_MOBILE)
.addAutoSettle(new AutoSettle().addFlag(AutoSettleFlag.TRUE))
.addMobile("apple-pay")
.addToken("{auth mobile payment token}");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```


### Settle

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.SETTLE)
.addOrderId("Order ID from original transaction")
.addAmount(100)
.addCurrency("EUR")
.addPaymentsReference("pasref from original transaction")
.addAuthCode("Auth code from original transaction");


RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### Void

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.VOID)
.addOrderId("Order ID from original transaction")
.addPaymentsReference("pasref from original transaction")
.addAuthCode("Auth code from original transaction");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### Rebate

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.REBATE)
.addOrderId("Order ID from original transaction")
.addAmount(100)
.addCurrency("EUR")
.addPaymentsReference("pasref from original transaction")
.addAuthCode("Auth code from original transaction")
.addRefundHash("Hash of rebate password shared with Realex");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### OTB

```java
Card card = new Card()
.addExpiryDate("0119")
.addNumber("4242424242424242")
.addType(CardType.VISA)
.addCardHolderName("Joe Smith")
.addCvn("123")
.addCvnPresenceIndicator(PresenceIndicator.CVN_PRESENT);
.addExpiryDate("0119")
.addNumber("420000000000000000")
.addType(CardType.VISA)
.addCardHolderName("Joe Smith")
.addCvn("123")
.addCvnPresenceIndicator(PresenceIndicator.CVN_PRESENT);

PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.OTB)
.addCard(card);

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### Credit

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.CREDIT)
.addAmount(100)
.addCurrency("EUR")
.addPaymentsReference("Pasref from original transaction")
.addAuthCode("Auth code from original transaction")
.addRefundHash("Hash of credit password shared with Realex");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

### Hold

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.AUTH)
.addAmount(100)
.addCurrency("EUR")
.addCard(card)
.addAutoSettle(new AutoSettle().addFlag(AutoSettleFlag.TRUE));
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.HOLD)
.addOrderId("Order ID from original transaction")
.addPaymentsReference("Pasref from original transaction");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```
##License

### Release

```java
PaymentRequest request = new PaymentRequest()
.addAccount("yourAccount")
.addMerchantId("yourMerchantId")
.addType(PaymentType.RELEASE)
.addOrderId("Order ID from original transaction")
.addPaymentsReference("Pasref from original transaction");

RealexClient client = new RealexClient("shared secret");
PaymentResponse response = client.send(request);
```

## License
See the LICENSE file.
88 changes: 51 additions & 37 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,34 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.realexpayments.remote.sdk</groupId>
<artifactId>rxp-remote-java</artifactId>
<version>1.0.1</version>
<version>1.1</version>
<name>Realex Payments Remote Java SDK</name>
<description>The official Realex Payments Remote Java SDK</description>
<url>http://www.realexpayments.com</url>

<licenses>
<license>
<name>MIT License</name>
<url>https://github.com/realexpayments/rxp-remote-java/blob/master/LICENSE.txt</url>
</license>
<name>MIT License</name>
<url>https://github.com/realexpayments/rxp-remote-java/blob/master/LICENSE.txt</url>
</license>
</licenses>
<developers>
<developer>
<name>Realex Developer</name>
<organization>Realex Payments</organization>
<organizationUrl>http://www.realexpayments.com</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:[email protected]:realexpayments/rxp-remote-java.git</connection>
<developerConnection>scm:git:[email protected]:realexpayments/rxp-remote-java.git</developerConnection>
<url>https://github.com/realexpayments/rxp-remote-java.git</url>
</scm>
<properties>
<developers>
<developer>
<name>Realex Developer</name>
<organization>Realex Payments</organization>
<organizationUrl>http://www.realexpayments.com</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:[email protected]:realexpayments/rxp-remote-java.git</connection>
<developerConnection>scm:git:[email protected]:realexpayments/rxp-remote-java.git</developerConnection>
<url>https://github.com/realexpayments/rxp-remote-java.git</url>
</scm>

<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<jaxb.version>2.1</jaxb.version>
<maven.compiler.target>1.6</maven.compiler.target>
<jaxb.version>2.1</jaxb.version>
<junit.version>4.12</junit.version>
<slf4j.version>1.7.12</slf4j.version>
<logback-classic.version>1.1.3</logback-classic.version>
Expand All @@ -38,7 +38,7 @@
<mockito.version>1.10.19</mockito.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
Expand All @@ -51,15 +51,15 @@
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>

<dependencies>
<dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
Expand All @@ -86,7 +86,7 @@
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>

<!-- test dependencies -->
<dependency>
<groupId>junit</groupId>
Expand All @@ -95,9 +95,9 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
Expand All @@ -119,16 +119,16 @@
</exclusions>
</dependency>
</dependencies>

<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down Expand Up @@ -158,7 +158,21 @@
</goals>
</execution>
</executions>
</plugin>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>1.2.11</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>

</plugins>
</build>
</project>
Loading

0 comments on commit 816bdc1

Please sign in to comment.