Skip to content

Commit

Permalink
Adds tompay integration
Browse files Browse the repository at this point in the history
  • Loading branch information
abalikci committed Oct 30, 2023
1 parent 8e5ef18 commit a09f3f4
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 2 deletions.
2 changes: 2 additions & 0 deletions Craftgate/Model/ApmAdditionalAction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ public enum ApmAdditionalAction
{
[EnumMember(Value = "REDIRECT_TO_URL")] REDIRECT_TO_URL,
[EnumMember(Value = "OTP_REQUIRED")] OTP_REQUIRED,
[EnumMember(Value = "WAIT_FOR_WEBHOOK")] WAIT_FOR_WEBHOOK,
[EnumMember(Value = "APPROVAL_REQUIRED")] APPROVAL_REQUIRED,
[EnumMember(Value = "NONE")] NONE
}
}
1 change: 1 addition & 0 deletions Craftgate/Model/ApmType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public enum ApmType
[EnumMember(Value = "AFTERPAY")] AFTERPAY,
[EnumMember(Value = "STRIPE")] STRIPE,
[EnumMember(Value = "KASPI")] KASPI,
[EnumMember(Value = "TOMPAY")] TOMPAY,
[EnumMember(Value = "FUND_TRANSFER")] FUND_TRANSFER,
[EnumMember(Value = "CASH_ON_DELIVERY")] CASH_ON_DELIVERY
}
Expand Down
3 changes: 2 additions & 1 deletion Craftgate/Model/PaymentMethod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public enum PaymentMethod
[EnumMember(Value = "KLARNA")] KLARNA,
[EnumMember(Value = "AFTERPAY")] AFTERPAY,
[EnumMember(Value = "STRIPE")] STRIPE,
[EnumMember(Value = "KASPI")] KASPI
[EnumMember(Value = "KASPI")] KASPI,
[EnumMember(Value = "TOMPAY")] TOMPAY
}
}
3 changes: 2 additions & 1 deletion Craftgate/Model/PaymentProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public enum PaymentProvider
[EnumMember(Value = "APPLEPAY")] APPLEPAY,
[EnumMember(Value = "GOOGLEPAY")] GOOGLEPAY,
[EnumMember(Value = "STRIPE")] STRIPE,
[EnumMember(Value = "KASPI")] KASPI
[EnumMember(Value = "KASPI")] KASPI,
[EnumMember(Value = "TOMPAY")] TOMPAY
}
}
43 changes: 43 additions & 0 deletions Samples/PaymentSample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1075,6 +1075,49 @@ public void Init_Kaspi_Apm_Payment()
Assert.AreEqual(response.PaymentStatus, PaymentStatus.WAITING);
Assert.AreEqual(response.AdditionalAction, ApmAdditionalAction.REDIRECT_TO_URL);
}

[Test]
public void Init_Tompay_Apm_Payment()
{
var additionalParams = new Dictionary<string, string>();
additionalParams.Add("channel", "channel");
additionalParams.Add("phone", "phone");

var request = new InitApmPaymentRequest
{
ApmType = ApmType.TOMPAY,
Price = new decimal(1.0),
PaidPrice = new decimal(1.0),
Currency = Currency.TRY,
PaymentGroup = PaymentGroup.LISTING_OR_SUBSCRIPTION,
ConversationId = "conversationId",
ExternalId = "externalId",
CallbackUrl = "https://www.your-website.com/craftgate-apm-callback",
Items = new List<PaymentItem>
{
new PaymentItem
{
Name = "Item 1",
ExternalId = Guid.NewGuid().ToString(),
Price = new decimal(0.40)
},

new PaymentItem
{
Name = "Item 2",
ExternalId = Guid.NewGuid().ToString(),
Price = new decimal(0.60)
}
},
AdditionalParams = additionalParams
};

var response = _craftgateClient.Payment().InitApmPayment(request);
Assert.NotNull(response);
Assert.NotNull(response.PaymentId);
Assert.AreEqual(response.PaymentStatus, PaymentStatus.WAITING);
Assert.AreEqual(response.AdditionalAction, ApmAdditionalAction.WAIT_FOR_WEBHOOK);
}

[Test]
public void Complete_Edenred_Apm_Payment()
Expand Down

0 comments on commit a09f3f4

Please sign in to comment.