1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-11-18 06:13:47 +00:00

add support of refundStarPayment

This commit is contained in:
InsanusMokrassar 2024-05-28 23:57:48 +06:00
parent 30e44d6bf2
commit 4622509356
4 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,17 @@
package dev.inmo.tgbotapi.extensions.api.send.payments
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.send.payments.RefundStarPayment
import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.types.payments.SuccessfulPayment
import dev.inmo.tgbotapi.types.payments.abstracts.TelegramPaymentChargeId
suspend fun TelegramBot.refundStarPayment(
userId: UserId,
telegramPaymentChargeId: TelegramPaymentChargeId
) = execute(RefundStarPayment(userId, telegramPaymentChargeId))
suspend fun TelegramBot.refundStarPayment(
userId: UserId,
successfulPayment: SuccessfulPayment
) = refundStarPayment(userId, successfulPayment.telegramPaymentChargeId)

View File

@ -0,0 +1,21 @@
package dev.inmo.tgbotapi.requests.send.payments
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.payments.abstracts.TelegramPaymentChargeId
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@Serializable
data class RefundStarPayment(
@SerialName(userIdField)
val userId: UserId,
@SerialName(telegramPaymentChargeIdField)
val telegramPaymentChargeId: TelegramPaymentChargeId
) : SimpleRequest<Boolean> {
override fun method(): String = "refundStarPayment"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@ -14,7 +14,7 @@ data class SuccessfulPayment(
@SerialName(invoicePayloadField) @SerialName(invoicePayloadField)
val invoicePayload: String, val invoicePayload: String,
@SerialName(telegramPaymentChargeIdField) @SerialName(telegramPaymentChargeIdField)
val telegramPaymentChargeId: String, val telegramPaymentChargeId: TelegramPaymentChargeId,
@SerialName(providerPaymentChargeIdField) @SerialName(providerPaymentChargeIdField)
val providerPaymentChargeId: String, val providerPaymentChargeId: String,
@SerialName(shippingOptionIdField) @SerialName(shippingOptionIdField)

View File

@ -0,0 +1,10 @@
package dev.inmo.tgbotapi.types.payments.abstracts
import kotlinx.serialization.Serializable
import kotlin.jvm.JvmInline
@Serializable
@JvmInline
value class TelegramPaymentChargeId(
val string: String
)