Skip to content

Fix acquire bin type #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
918cba6
add browserInfo and threeDsVersion to transaction request
the-fine Aug 28, 2019
ac4ec5a
add deviceFingerprintForm to transaction response
the-fine Aug 30, 2019
7da09ca
complete should make a post request instead of put
the-fine Sep 3, 2019
e8dedd5
add challenge url and form to transaction response
the-fine Sep 3, 2019
d617c6c
Merge remote-tracking branch 'upstream/master'
Jul 20, 2020
e4ad7c3
add body to complete call
Jul 20, 2020
ad31ede
add SpreedlyCompleteRequest
Jul 22, 2020
83a75a0
add complete request object
Jul 22, 2020
413eecc
change complete request to map
Jul 24, 2020
3a19277
change to entry
Jul 24, 2020
470abfb
added mode and sandbox fileds in SpreedlyGatewayAccount
vladimirsheiko Nov 16, 2021
75af067
changed javadoc version in pom file
vladimirsheiko Nov 16, 2021
bde2a2c
Merge pull request #1 from bizzabo/adding-missing-fields-in-SpreedlyG…
vladimirsheiko Nov 16, 2021
d97f3bd
add mode prop
orlovD Feb 23, 2022
a5d6c2d
add mode prop
orlovD Feb 23, 2022
d28816a
Merge branch 'master' into SUPP-8471
orlovD Feb 23, 2022
6d0a8bb
Merge pull request #3 from bizzabo/SUPP-8471
orlovD Feb 23, 2022
75d0d07
add 3ds global support
DavidRadchenko Jul 31, 2022
019cf0f
Update Spreedly.java
DavidRadchenko Jul 31, 2022
c494b82
Update pom.xml
DavidRadchenko Jul 31, 2022
19da577
add 3ds global support
DavidRadchenko Jul 31, 2022
4d74b62
Merge remote-tracking branch 'origin/3ds2_global_support' into 3ds2_g…
DavidRadchenko Jul 31, 2022
e60ea60
add 3ds global support
DavidRadchenko Jul 31, 2022
d524404
Update Spreedly.java
DavidRadchenko Jul 31, 2022
8174284
add 3ds global support
DavidRadchenko Jul 31, 2022
32b5cd9
add 3ds global support
DavidRadchenko Aug 1, 2022
a6b0c2e
Merge remote-tracking branch 'origin/3ds2_global_support' into 3ds2_g…
DavidRadchenko Aug 1, 2022
1fb0a8d
add 3ds global support
DavidRadchenko Aug 2, 2022
d8b141f
add 3ds global support
DavidRadchenko Aug 2, 2022
f1807bd
add 3ds global support
DavidRadchenko Aug 8, 2022
97b7b65
add 3ds global support
DavidRadchenko Aug 8, 2022
7278dda
Merge pull request #5 from bizzabo/complete_body
DavidRadchenko Aug 8, 2022
bdcb8ff
add 3ds global support
DavidRadchenko Aug 8, 2022
8ea9068
add 3ds global support
DavidRadchenko Aug 8, 2022
4c5298c
add 3ds global support
DavidRadchenko Aug 12, 2022
3b8c16e
Merge branch 'master' into 3ds2_global_support
DavidRadchenko Aug 17, 2022
264f21b
Merge pull request #4 from bizzabo/3ds2_global_support
DavidRadchenko Aug 21, 2022
206496e
fix acquire bin type
DavidRadchenko Nov 22, 2022
f6c59f4
fix acquire bin type
DavidRadchenko Dec 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
Expand All @@ -58,7 +60,11 @@
<artifactId>http</artifactId>
<version>[0.2,)</version>
</dependency>

<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -93,13 +99,23 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<version>3.1.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<use>false</use>
<use>false</use>
<source>1.8</source>
<links>
<link>http://docs.oracle.com/javase/7/docs/api/</link>
<link>http://docs.oracle.com/javase/7/docs/api/</link>
</links>
<doclint>none</doclint>
</configuration>
</execution>
</executions>
</plugin>
Expand Down Expand Up @@ -148,5 +164,4 @@
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>

</project>
34 changes: 34 additions & 0 deletions src/main/java/cc/protea/spreedly/Spreedly.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package cc.protea.spreedly;

import cc.protea.spreedly.model.*;

import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -387,5 +389,37 @@ public List<SpreedlyTransactionResponse> listPaymentMethodTransactions(final Str
public SpreedlyPaymentMethod update(final SpreedlyPaymentMethod paymentMethod) {
return util.put("https://core.spreedly.com/v1/payment_methods/" + paymentMethod.token + ".xml", paymentMethod, SpreedlyPaymentMethod.class);
}

/**
* Completes a 3DS 2 transaction in the device fingerprint stage.
* For more details see https://docs.spreedly.com/guides/3dsecure2/
* @param token transaction_token to complete
*/
public SpreedlyTransactionResponse complete(String token, SpreedlyCompleteRequest request) {
return util.post("https://core.spreedly.com/v1/transactions/" + token + "/complete.xml", request, SpreedlyTransactionResponse.class);
}

/**
* Create an SCA Provider on the given Merchant Profile. An SCA Provider can be used to run 3DS2 Global
* authentications on the authenticate endpoint or as part of authorize and purchase transactions.
*/
public SpreedlyMerchantProfile create(final SpreedlyMerchantProfileRequest request) {
return util.post("https://core.spreedly.com/v1/merchant_profiles.xml", request, SpreedlyMerchantProfile.class);
}

/**
* Adds a gateway account to the authenticated environment. One gateway account is required for each set of merchant account
* credentials. Spreedly stores and protects the credentials to be used to authenticate with gateway accounts for
* transaction processing.
*/
public SpreedlyScaProvider create(final SpreedlyScaProviderRequest request) {
return util.post("https://core.spreedly.com/v1/sca/providers.xml", request, SpreedlyScaProvider.class);
}

/**
* Authenticate a given payment method and amount against provided SCA Provider Key (specified in request URL).
*/
public SpreedlyScaAuthenticationResponse authenticateScaProvider(String scaProviderKey , final SpreedlyTransactionRequest request) {
return util.post("https://core.spreedly.com/v1/sca/providers/" + scaProviderKey + "/authenticate.xml", request, SpreedlyScaAuthenticationResponse.class);
}
}
28 changes: 28 additions & 0 deletions src/main/java/cc/protea/spreedly/model/SpreedlyAmexDetails.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package cc.protea.spreedly.model;

import javax.xml.bind.annotation.*;

@XmlRootElement(name = "amex")
@XmlAccessorType(XmlAccessType.FIELD)
public class SpreedlyAmexDetails {

@XmlElement(name = "acquirer_bin") public String acquirerBin;
@XmlElement(name = "merchant_url") public String merchantUrl;

public String getAcquirerBin() {
return acquirerBin;
}

public void setAcquirerBin(String acquirerBin) {
this.acquirerBin = acquirerBin;
}

public String getMerchantUrl() {
return merchantUrl;
}

public void setMerchantUrl(String merchantUrl) {
this.merchantUrl = merchantUrl;
}

}
48 changes: 48 additions & 0 deletions src/main/java/cc/protea/spreedly/model/SpreedlyAmexNetwork.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package cc.protea.spreedly.model;

import javax.xml.bind.annotation.*;

@XmlRootElement(name = "amex")
@XmlAccessorType(XmlAccessType.FIELD)
public class SpreedlyAmexNetwork {

@XmlElement(name = "acquirer_merchant_id") public String acquirerMerchantId;
@XmlElement(name = "country_code") public Long countryCode;
@XmlElement(name = "mcc") public Long mcc;
@XmlElement(name = "merchant_name") public String name;

public String getAcquirerMerchantId() {
return acquirerMerchantId;
}

public void setAcquirerMerchantId(String acquirerMerchantId) {
this.acquirerMerchantId = acquirerMerchantId;
}

public Long getCountryCode() {
return countryCode;
}

public void setCountryCode(Long countryCode) {
this.countryCode = countryCode;
}

public Long getMcc() {
return mcc;
}

public void setMcc(Long mcc) {
this.mcc = mcc;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}



}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package cc.protea.spreedly.model;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"entry"})
@XmlRootElement(name = "context")
public class SpreedlyCompleteRequest {

protected List<SpreedlyCompleteRequest.Entry> entry;


public List<SpreedlyCompleteRequest.Entry> getEntry() {
if (entry == null) {
entry = new ArrayList<SpreedlyCompleteRequest.Entry>();
}
return this.entry;
}

public void setEntry(List<Entry> entry) {
this.entry = entry;
}

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"key", "value"})
public static class Entry {

@XmlElement(required = true)
protected String key;
@XmlElement(required = true)
protected Object value;

public String getKey() {
return key;
}

public void setKey(String value) {
this.key = value;
}

public Object getValue() {
return value;
}

public void setValue(Object value) {
this.value = value;
}

}

}
41 changes: 41 additions & 0 deletions src/main/java/cc/protea/spreedly/model/SpreedlyCreditNetwork.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package cc.protea.spreedly.model;

import javax.xml.bind.annotation.*;

@XmlRootElement(name = "card_networks")
@XmlAccessorType(XmlAccessType.FIELD)
public class SpreedlyCreditNetwork {

@XmlElement(name = "visa")
public SpreedlyVisaNetwork visa;
@XmlElement(name = "mastercard")
public SpreedlyMastercardNetwork mastercard;
@XmlElement(name = "amex")
public SpreedlyAmexNetwork amex;

public SpreedlyVisaNetwork getVisa() {
return visa;
}

public void setVisa(SpreedlyVisaNetwork visa) {
this.visa = visa;
}

public SpreedlyMastercardNetwork getMastercard() {
return mastercard;
}

public void setMastercard(SpreedlyMastercardNetwork mastercard) {
this.mastercard = mastercard;
}

public SpreedlyAmexNetwork getAmex() {
return amex;
}

public void setAmex(SpreedlyAmexNetwork amex) {
this.amex = amex;
}


}
18 changes: 18 additions & 0 deletions src/main/java/cc/protea/spreedly/model/SpreedlyGatewayAccount.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ public class SpreedlyGatewayAccount {
@XmlElement(name = "created_at") public Date createdOn;
@XmlElement(name = "updated_at") public Date updatedOn;
@XmlElement(name = "description") public String description;
public String mode;
public boolean sandbox;

public String getToken() {
return token;
}
Expand Down Expand Up @@ -105,4 +108,19 @@ public void setDescription(final String description) {
this.description = description;
}

public String getMode() {
return mode;
}

public void setMode(String mode) {
this.mode = mode;
}

public boolean isSandbox() {
return sandbox;
}

public void setSandbox(boolean sandbox) {
this.sandbox = sandbox;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package cc.protea.spreedly.model;

import javax.xml.bind.annotation.*;

@XmlRootElement(name = "mastercard")
@XmlAccessorType(XmlAccessType.FIELD)
public class SpreedlyMastercardDetails {

@XmlElement(name = "acquirer_bin") public String acquirerBin;
@XmlElement(name = "merchant_url") public String merchantUrl;

public String getAcquirerBin() {
return acquirerBin;
}

public void setAcquirerBin(String acquirerBin) {
this.acquirerBin = acquirerBin;
}

public String getMerchantUrl() {
return merchantUrl;
}

public void setMerchantUrl(String merchantUrl) {
this.merchantUrl = merchantUrl;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package cc.protea.spreedly.model;

import javax.xml.bind.annotation.*;

@XmlRootElement(name = "mastercard")
@XmlAccessorType(XmlAccessType.FIELD)
public class SpreedlyMastercardNetwork {

@XmlElement(name = "acquirer_merchant_id") public String acquirerMerchantId;
@XmlElement(name = "country_code") public Long countryCode;
@XmlElement(name = "mcc") public Long mcc;
@XmlElement(name = "merchant_name") public String name;

public String getAcquirerMerchantId() {
return acquirerMerchantId;
}

public void setAcquirerMerchantId(String acquirerMerchantId) {
this.acquirerMerchantId = acquirerMerchantId;
}

public Long getCountryCode() {
return countryCode;
}

public void setCountryCode(Long countryCode) {
this.countryCode = countryCode;
}

public Long getMcc() {
return mcc;
}

public void setMcc(Long mcc) {
this.mcc = mcc;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}



}
Loading