Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Changelog
All notable changes to this project will be documented in this file.

## [3.1.21]
- Added `riskManager` and `maxConversion` objects to `configuration` to /createCheckoutSession endpoint.

## [3.1.20]
- Added `MerchantErrorMessage` and `MerchantErrorCode` fields to `Transaction` in API response, exposing the failure reason and error code for failed/declined payments.
- Added credit card schemes section on `/getTerminals` for `CreditCard` terminals.
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ plugins {
}

group = 'com.altapay'
version = '3.1.20'
version = '3.1.21'

repositories {
mavenCentral()
Expand Down
4 changes: 2 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ For integrating Java projects with the AltaPay gateway.
<dependency>
<groupId>com.altapay</groupId>
<artifactId>sdk-java</artifactId>
<version>3.1.20</version>
<version>3.1.21</version>
</dependency>

### Gradle

implementation 'com.altapay:sdk-java:3.1.20'
implementation 'com.altapay:sdk-java:3.1.21'

## Changelog

Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/pensio/api/PensioMerchantAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -746,6 +746,18 @@ public CheckoutSessionResponse createCheckoutSession(CreateCheckoutSessionReques
if (createCheckoutSessionRequest.getTerminals() != null) {
addTerminals(params, createCheckoutSessionRequest.getTerminals());
}
if (createCheckoutSessionRequest.getRiskManagerPolicyGroup() != null) {
addParam(params, "risk_manager_policy_group", createCheckoutSessionRequest.getRiskManagerPolicyGroup());
}
if (createCheckoutSessionRequest.getRiskManagerPolicy() != null) {
addParam(params, "risk_manager_policy", createCheckoutSessionRequest.getRiskManagerPolicy());
}
if (createCheckoutSessionRequest.getMaxConversionPolicyGroup() != null) {
addParam(params, "max_conversion_policy_group", createCheckoutSessionRequest.getMaxConversionPolicyGroup());
}
if (createCheckoutSessionRequest.getMaxConversionPolicy() != null) {
addParam(params, "max_conversion_policy", createCheckoutSessionRequest.getMaxConversionPolicy());
}

return checkoutSession(apiUrl, params);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
public class CreateCheckoutSessionRequest extends PaymentRequest<CreateCheckoutSessionRequest> {

private List<String> terminals;
private String riskManagerPolicyGroup;
private String riskManagerPolicy;
private String maxConversionPolicyGroup;
private String maxConversionPolicy;

public List<String> getTerminals() {
return terminals;
Expand All @@ -13,4 +17,40 @@ public List<String> getTerminals() {
public void setTerminals(List<String> terminals) {
this.terminals = terminals;
}

public String getRiskManagerPolicyGroup() {
return riskManagerPolicyGroup;
}

public CreateCheckoutSessionRequest setRiskManagerPolicyGroup(String riskManagerPolicyGroup) {
this.riskManagerPolicyGroup = riskManagerPolicyGroup;
return this;
}

public String getRiskManagerPolicy() {
return riskManagerPolicy;
}

public CreateCheckoutSessionRequest setRiskManagerPolicy(String riskManagerPolicy) {
this.riskManagerPolicy = riskManagerPolicy;
return this;
}

public String getMaxConversionPolicyGroup() {
return maxConversionPolicyGroup;
}

public CreateCheckoutSessionRequest setMaxConversionPolicyGroup(String maxConversionPolicyGroup) {
this.maxConversionPolicyGroup = maxConversionPolicyGroup;
return this;
}

public String getMaxConversionPolicy() {
return maxConversionPolicy;
}

public CreateCheckoutSessionRequest setMaxConversionPolicy(String maxConversionPolicy) {
this.maxConversionPolicy = maxConversionPolicy;
return this;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.pensio.api;

import com.pensio.Amount;
import com.pensio.Currency;
import com.pensio.api.generated.APIResponse;
import com.pensio.api.generated.Body;
import com.pensio.api.request.CreateCheckoutSessionRequest;
import org.junit.jupiter.api.Test;

import java.util.Map;

import static org.junit.jupiter.api.Assertions.assertEquals;

class MerchantApi_CheckoutSessionParameterTests {

@Test
void createCheckoutSessionEmitsRiskManagerAndMaxConversionParams() throws PensioAPIException {
final var api = new PensioMerchantAPI("http://base", "user", "pass") {
@Override
protected APIResponse getAPIResponse(String method, HttpMethod httpMethod, Map<String, String> requestVars) {
assertEquals("checkoutSession", method);
assertEquals(HttpMethod.POST, httpMethod);
assertEquals("group_rm_1", requestVars.get("risk_manager_policy_group"));
assertEquals("policy_rm_1", requestVars.get("risk_manager_policy"));
assertEquals("group_mc_1", requestVars.get("max_conversion_policy_group"));
assertEquals("policy_mc_1", requestVars.get("max_conversion_policy"));

APIResponse response = new APIResponse();
response.setBody(new Body());
return response;
}
};

CreateCheckoutSessionRequest request = new CreateCheckoutSessionRequest()
.setTerminal("Terminal")
.setAmount(Amount.get(100, Currency.DKK))
.setShopOrderId("order123")
.setRiskManagerPolicyGroup("group_rm_1")
.setRiskManagerPolicy("policy_rm_1")
.setMaxConversionPolicyGroup("group_mc_1")
.setMaxConversionPolicy("policy_mc_1");

api.createCheckoutSession(request);
}
}
Loading