Mollie v2.NET库创建和检查付款请求的状态

Mollie v2.NET库创建和检查付款请求的状态,.net,vb.net,class,strong-typing,mollie,.net,Vb.net,Class,Strong Typing,Mollie,我想将我的Mollie.NET支付客户端(请参阅)从v1升级到v2 我已安装库,但无法创建付款请求或检查其状态,因为我找不到示例代码中描述的金额方法和货币类型: IPaymentClient-paymentClient=new-paymentClient(“{yourApiKey}”); PaymentRequest PaymentRequest=新的PaymentRequest(){ 金额=新金额(100.00欧元), Description=“示例项目的测试付款”, 重定向URL=”http

我想将我的Mollie.NET支付客户端(请参阅)从v1升级到v2

我已安装库,但无法创建付款请求或检查其状态,因为我找不到示例代码中描述的
金额
方法和
货币
类型:

IPaymentClient-paymentClient=new-paymentClient(“{yourApiKey}”);
PaymentRequest PaymentRequest=新的PaymentRequest(){
金额=新金额(100.00欧元),
Description=“示例项目的测试付款”,
重定向URL=”http://google.com"
};
Github存储库不是很活跃,开发人员没有对那里的问题做出响应,所以希望这里有人能够帮助我

我已经检查了所有的类以及Github的示例项目。我尝试在示例项目中使用“F12/Go to definition”查找相关方法/类型的定义,但失败了。所以我现在被卡住了

以下是我的智能感知向我展示的:

我做错了什么

更新1

我将进一步导入正确的库并按照@Nkosi的建议检查

我现在有下面的代码,但出现错误:

BC37058“wait”只能在异步方法中使用。考虑用“AsiNC”修饰符标记该方法,并将其返回类型改为“任务”。

C#示例代码是

PaymentResponse PaymentResponse=Wait paymentClient.CreatePaymentAsync(paymentRequest);
但我不知道如何翻译成VB.net和在线代码转换器也没有提供解决方案

Dim paymentClient As Mollie.Api.Client.PaymentClient

If ConfigurationManager.AppSettings("IsDevelopment") = "true" Then
    paymentClient = New Client.PaymentClient(ConfigurationManager.AppSettings(String.Format("mollie_api_testkey_{0}", _lang)))
Else
    paymentClient = New Client.PaymentClient(ConfigurationManager.AppSettings(String.Format("mollie_api_livekey_{0}", _lang)))
End If

Select Case hfPaymentMethod.Value
    Case "ideal"
        Dim paymentRequest As New Mollie.Api.Models.Payment.Request.IdealPaymentRequest
        paymentRequest.Amount = New Amount(Currency.EUR, "100.00") ' decimalAmount.ToString
        paymentRequest.Description = "Subscription. id:" + _vendorId.ToString + " t:" + _objtype.ToString
        paymentRequest.RedirectUrl = ConfigurationManager.AppSettings(String.Format("WebAddress_{0}", _lang)) + "paymentvalidate?oid=" + newOrderId.ToString +
            "&transactiontype=subscription&id=" + _vendorId.ToString + "&t=" + _objtype.ToString + "&lvl=" + ddlSubscription.SelectedValue.ToString

        Dim paymentResponse As PaymentResponse = Await paymentClient.CreatePaymentAsync(paymentRequest)

        orderTA.UpdateOrderTransactionId(paymentResponse.Id, newOrderId)

        Response.Redirect(paymentResponse.Links.Checkout.ToString)

    Case "paypal"
        Dim paymentRequest As New Mollie.Api.Models.Payment.Request.PayPalPaymentRequest
    Case "creditcard"
        Dim paymentRequest As New Mollie.Api.Models.Payment.Request.CreditCardPaymentRequest
End Select
更新3

好的,再进一步,现在正在触发呼叫。但是,我现在得到了以下错误:

提供的令牌不是oauth令牌

在线

Dim paymentStatus As PaymentResponse = Await paymentClient.GetPaymentAsync(transactionId, True)`
请注意,在更新2中的代码块(在我的upgrade.aspx页面上)中,我将事务ID存储在我的订单表中,例如
tr_VneHN4axS9

orderTA.UpdateOrderTransactionId(paymentResponse.Id, newOrderId)
newOrderId
也附加在付款请求的重定向URL中,以便我可以在
paymentvalidate
页面上再次检索正确的订单:

paymentRequest.RedirectUrl = ConfigurationManager.AppSettings(String.Format("WebAddress_{0}", _lang)) + "paymentvalidate?oid=" + newOrderId.ToString +
                "&transactiontype=subscription&id=" + _vendorId.ToString + "&t=" + _objtype.ToString + "&lvl=" + ddlSubscription.SelectedValue.ToString`
在我的paymentvalidate.aspx页面上,我从URL获取orderid,然后使用该ID检索transactionId:

Dim orderId As Integer = ReturnQueryString(Request.Params("oid"), 0)            
Dim transactionId As String = orderTA.GetDataOrderById(orderId)(0).transactionId
但当我尝试检索该事务的状态时,如下所示:

Dim paymentStatus As PaymentResponse = Await paymentClient.GetPaymentAsync(transactionId, True)`
我得到了错误

提供的令牌不是oauth令牌


为什么会抛出此错误?

问题列表中的该错误中有一些内容:

因此,如果:
(!string.IsNullOrWhiteSpace(paymentRequest.ProfileId)| | paymentRequest.Testmode.HasValue | | | | paymentRequest.ApplicationFee!=null)
它将运行
this.ValidateApiKeyIsOauthAccesstoken()

Dim paymentStatus As PaymentResponse = Await paymentClient.GetPaymentAsync(transactionId, True)`